2013-05-17 74 views
1

我希望能夠得到(在這種情況下2003)在Windows服務器上的所有窗口打印機設備的默認頁面大小。列表默認頁面大小

這應該不是Win32_Printer WMI對象的DefaultPageSize財產,但爲使得經由打印機驅動程序的設置。

打印機驅動程序是Adobe通用PostScript驅動程序。

回答

0

由打印驅動程序提供的打印機配置位於註冊表

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\<printer name>\ 

這並不似乎是一樣的Win32_Printer WMI對象的當前和默認紙張尺寸特性。

「默認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)生成的文件。根據我的經驗,它是unicode雙字節字符。

對於每個打印機應該有一些特性,包括:

  • 名稱
  • 分辨率
  • 每頁
  • PageRegion
  • InputSlot

注:這是快速入侵以檢索這些信息。如果有更正確的方法做這件事,或者你想建議別的東西來整理它,我會非常感激。

而且,如果有資源或規格上該領域的註冊表,請讓我知道!