默认打印机设置的质量更改

在我们的服务器2008 R2打印服务器上,我们有〜30台惠普打印机(一些CM3530,M4345和CP3525),我被要求将所有的打印双面打印,并为彩色打印机,灰度。 是否有PowerShell脚本或CMD线欺骗,或者我必须通过每个打印机设置并手动更改它?

不幸的是,从我的经验,我认为没有办法大规模更新多个打印机队列驱动程序。 我认为你需要进入每个打印队列,并单独修改驱动程序设置。

实际上,惠普的“ HP通用PS ”和“ HP通用PCL 6 ”打印驱动程序的新v5.6.0附带了一个名为“ HP驱动程序configuration使用 ”的实用程序 ,它允许您修改驱动程序安装文件夹中的CFG文件,更改为该驱动程序的队列将获取您指定的设置。 您也可以locking设置,以便用户无法进行不必要的更改。

下载

-约翰

Setprinter.exe可以做到这一点,至less对于惠普打印机驱动程序。

http://windowsitpro.com/windows/jsi-tip-9675-setprinterexe-command-line-tool-set-configurations-or-states-local-or-remote-pr

以下是使用set printer命令将Color更改为BW的PS脚本的副本:

$TargetHost = "printservernamehere" $list = get-wmiobject -ComputerName $TargetHost -class win32_printer $i = 1 Foreach ($printer in $list) { $name = $printer.name Write-host("Working on " + $name + " (#" + $i++ + " of " + $list.Count + ")") setprinter \\$TargetHost\$name 8 "pdevmode=dmcolor=1" } 

我会看的第一个地方是:

HKLM\SYSTEM\CurrentControlSet\Control\Print\Printers

在这里您可以find机器上安装的每个队列的个性化configuration信息。 每个键至less包含这三个子键:

DsDriver

DsSpooler

PrinterDriverData

第一和第三是你想看看。 一些驱动程序会在这里caching大量的特定于模型的信息,以节省时间并减lessnetworking资源。

不过,我认为您从“Printing Defaults”中获得的function特定设置是在驱动程序级别进行控制的。 然而,大多数打印机使用SNMP来自动获取/设置这些信息。 您也可能会发现在registry中分散的registry项,这些registry项已经caching了有用的信息。

祝你好运!

Dawne的回答不起作用。 该命令也不是setprinter ,任何引用都显示“Set-Printer”。 看来在这一点上编辑registry会更好。

https://technet.microsoft.com/en-us/library/hh918361(v=wps.630).aspx(Set-PrintConfiguration)https://technet.microsoft.com/en-us/library/hh918366(v = wps.630).aspx (Set-Printer)

我没有使用Set-Printer ,但是使用Set-PrintConfiguration更接近。

  #Set object to desired printer's print config $PrintConfiguration = Get-PrintConfiguration –PrinterName "Printer Name Here" #Set color to false $PrintConfiguration.Color = $false #Apply the changes Set-PrintConfiguration –InputObject $PrintConfiguration 

您可以使用Dawne的部分答案来获取打印机列表,然后循环(以编程方式input打印机名称)。 名称将在属性Name

 $PrinterList = get-wmiobject -ComputerName $TargetHost -class win32_printer 

这种方法的问题是,它从我所能收集的东西中一起禁用颜色。 它也不适用于我的PCL驱动程序,只有PS。 检查打印机属性/首选项仍将显示“自动颜色”(也称为禁用颜色不会反映)的默认值。 至less,如果你想防止用户打印颜色,这可能会有所帮助。