Powershell:将打印机添加到printserver

时间:2017-07-02 17:39:07

标签: windows powershell printing automation

我正在开发一个pwershell脚本来同步两个打印服务器,一个Win 2k8(很快将是2012)另一个Win 2k12。除了在新的2k12打印服务器上安装打印机的最终for循环外,一切正常。

for循环如下所示:

foreach ($printer in $sourceprinters) { 
    Add-PrinterPort -name $printer.PortName -PrinterHostAddress $printer.ip
    Add-Printer -Name $printer.Name -PortName $Printer.PortName -DriverName $printer.DriverName -Comment $printer.Comment -Shared $printer.Shared -ShareName $printer.ShareName -Location $printer.Location  
}

端口添加没有问题,但是在尝试添加打印机时出现以下错误。

  

添加打印机:无法找到接受的位置参数   论证'真'。在行:63 char:5   + Add-Printer -ComputerName printserver2 -Name $ printer.Name -PortName $ Printe ...   + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~       + CategoryInfo:InvalidArgument :( :) [Add-Printer],ParameterBindingException       + FullyQualifiedErrorId:PositionalParameterNotFound,Add-Printer

新的printserver已经安装了所有驱动程序。我尝试添加计算机名称,但没有任何区别,根据我的研究,所有参数都是有效的,并且我验证了传递的值是正确的类型和顺序。

任何有助于解决此问题的帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

-Shared $printer.Shared

这是一个开关,它没有参与。