如何以编程方式从打印机Printing Defaults
设置中检索和显示属性值?
我可以使用 PowerShell 成功地从打印机检索属性值Preferences
,但在尝试专门访问Printing Defaults
.
更多背景信息
因此,您可以设置打印机preferences
,并且可以设置打印机printing defaults
:
- 打印首选项:
Printer Properties
|General
选项卡|Preferences
- 打印默认值:
Printer Properties
|Advanced
选项卡|Printing Defaults
当对特定打印机执行此 PowerShell 查询时,它仅从 中检索设置,Preferences
而不是从 中检索设置Printing Defaults
,这是我需要的信息。
获取打印默认值
$p = "Printer XYZ";
$printerConfigs = Get-WmiObject -Class Win32_PrinterConfiguration | Where {$_.Name -like "*$p*"};
foreach ($config in $printerConfigs) {
$printerName = $config.Caption;
$collate = $config.Collate;
$color = $config.Color;
$duplex = $config.Duplex;
$paperSize = $config.PaperSize;
## -- Display output
Write-Host "Printer: $printerName" -ForegroundColor Yellow;
Write-Host "Collate: $collate" -ForegroundColor Yellow;
Write-Host "Color: $color" -ForegroundColor Yellow;
Write-Host "Duplex: $duplex" -ForegroundColor Yellow;
Write-Host "Paper Size: $paperSize" -ForegroundColor Yellow;
Write-Host "-----------------------";
};
打印机设置
使用驱动程序: RICOH PCL6 Universal V4.37
其中包括我在该打印机的首选项选项中看到的屏幕截图,PowerShell 查询输出按预期向我显示了这一点。不过,在打印默认设置中,它被设置为彩色和双面,与首选项设置不同。
如果我更改首选项,然后运行 PowerShell 查询,我可以看到输出值按预期更改 - 在重新运行此查询时,我看不到打印默认值以及这些值发生更改(或不同)时的情况。我对查看打印默认设置值很感兴趣。
这就是我所看到的Preferences
这就是我所看到的Printing Defaults
输出
Printer: Printer XYZ
Collate: False
Color: 1
Duplex: False
Paper Size: Letter 8 1/2 x 11 in
-----------------------
我还尝试使用Get-WmiObject -Class Win32_Printer
和许多其他东西,但我还没有从Printing Defaults
打印机上设置的设置中恢复设置。
总之,我期待收到指导、建议、示例代码或您成功检索这些打印机属性的任何经验。此外,如果您有可以帮助我实现此目标的非 PowerShell 解决方案,我也愿意探索这些选项。我的主要重点是从打印机获取必要的属性值。
要使用 PowerShell 检索打印机的打印默认配置设置,您可以使用
Get-PrintConfiguration
cmdlet。经确认,此方法与Windows 10和Windows Server 2019兼容。注意: 所有已确认可正常工作的打印机均使用制造商“通用”分类驱动程序。
电源外壳
输出
支持资源
获取打印配置
使用 Powershell 更改默认打印机设置
设置打印配置
免费
DEVMODEW结构