查找打印机是否能够进行彩色打印

问题描述 投票:0回答:4

因此,我的任务是获取我们所有可以进行彩色打印的打印机的报告。我从这里找到了一个脚本(http://voices.yahoo.com/listing-printers-ips-using-windows-powershell-6617942.html?cat=15),它对所有事情都很有效,但如果不行它的颜色。

Get-WMIObject -class Win32_Printer -computer $printserver | Select Name,DriverName,PortName,CapabilityDescriptions

我认为“CapabilityDescriptions”会起作用,但这基于驱动程序,并且我们正在使用 HP 通用打印 PS。

所以我仔细检查了,事实上,当在打印服务器上并转到“功能”下“常规”选项卡上的打印机属性时,它列出了“颜色”。

事实上,彩色打印机会说“是”,而非彩色打印机会说“否”

现在我缺少另一种类型的 powershell 脚本变量来查找每台打印机的颜色“是/否”吗?

谢谢!

powershell printing
4个回答
1
投票

不确定您正在运行哪个版本的 PowerShell 以及您是否有权访问 Windows 8 计算机,但如果您这样做,PrinterManagement 模块将为您提供帮助,因为它似乎可以正确识别彩色打印机(我们也使用通用驱动程序):

PS> get-printconfiguration -ComputerName $printserver -PrinterName $nonprinter

PrinterName     ComputerName    Collate    Color      DuplexingMode
-----------     ------------    -------    -----      -------------
printername       servername   False      False      OneSided

PS> get-printconfiguration -ComputerName $printserver -PrinterName $colorprinter

PrinterName     ComputerName    Collate    Color      DuplexingMode
-----------     ------------    -------    -----      -------------
printername       servername   False      True       OneSided

0
投票
gwmi win32_printer -cn $printserver | select name,capabilitydescriptions

我用的就是这个。


0
投票

你可以这样做:

... $path = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers' + '打印机名称' + '\DsDriver' $type_param = (Get-ItemProperty -path $path).printColor $d = $type_param -as[字符串]

If ($d -eq '1')   # Printer color
{ ... 
 }elseif ($d -eq '0') {  # Printer monochrome
      ....
   }

...

参数

printColor
在这里 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers*[此处打印机名称]*\DsDriver


-1
投票

在我的环境中,所有打印机都会以某种方式报告 Color: true,即使它们不是。当它们不是彩色打印机时,我在服务器上的打印机属性下没有找到任何条目显示“颜色:是/真”。 (一般/特征/颜色:还没有

Get-PrintConfiguration -PrinterName XYZ_BW_PRINTER_1

PrinterName     ComputerName    Collate    Color      DuplexingMode       
-----------     ------------    -------    -----      -------------       
XYZ_BW_Printer_...                 False      True       OneSided 

(与每个现有命令的结果相同)

为什么会这样?

© www.soinside.com 2019 - 2024. All rights reserved.