Конфигурация принтера обеспечивается драйвером печати находится в реестре в
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\<printer name>\
Это не кажутся такими же, как и текущие по умолчанию Размер бумаги свойств объекта Win32_Printer WMI.
Свойство «Default DevMode» является двоичным представлением ряда настроек для устройства. Откройте свойство в окне изменения, чтобы увидеть представление ascii.
Чтобы извлечь это поле я использовал следующее:
Get-ItemProperty -path Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\* | ForEach-Object{ $_.name, [string]::Join($null, ($_."Default DevMode" | %{ [char][int]$_;})) } > .\printer_driver_properties.txt
Значение по умолчанию DevMode свойство преобразуется в массив символов, который затем преобразуется в строку.
Открыть полученный файл в редакторе, поддерживающем кодировку, например, notepad.exe. По моему опыту это были юникодные двухбайтовые символы.
Для каждого принтера должен быть ряд свойств, в том числе:
- Название
- Разрешение
- PageSize
- PageRegion
- InputSlot
Примечание: Это было быстро взломать эту информацию. Если есть более правильный способ сделать это, или вы хотите предложить что-то другое, чтобы привести его в порядок, я был бы очень благодарен.
Кроме того, если в этой области реестра есть ресурс или спецификация, пожалуйста, дайте мне знать!