2017-07-02 260 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