2017-07-02 77 views
0

我正在使用pwershell脚本来同步两台打印服务器,一台Win 2k8(即将成为2012)和另一台Win 2k12。除了用于在新的2k12打印服务器上安装打印机的final循环之外,一切都可以正常工作。Powershell:将打印机添加到打印服务器

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 
} 

端口被添加但是没有问题,尝试添加打印机时,我得到了下面的错误。

Add-Printer:找不到位置参数,接受 参数'True'。在行:63字符:5 +添加打印机-ComputerName printserver2 - 命名$ printer.Name - 端口名称$ Printe ... + ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ + CategoryInfo:InvalidArgument:(:) [添加打印机],ParameterBindingException + FullyQualifiedErrorId:PositionalParameterNotFound,添加打印机

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

任何帮助解决这个问题将不胜感激。

+0

在添加'$ sourceprinters'之前检查$ sourceprinters的内容'$ sourceprinters |选择* | out-gridview'? – LotPings

回答

2
-Shared $printer.Shared 

这是一个开关,它不需要参数。

+0

谢谢我完全错过了! – MBE

相关问题