謝謝大家的回覆。我已經糾正了我的代碼中的錯誤,儘管它們只是剪切和粘貼錯誤。這是我得到的錯誤的一個例子。如果我的例子做:使用PowerShell腳本設置計算機機房號碼
PS > Set-ADComputer "VM-WINDOWS7" -Location "NA/HQ/Building A"
PS > Get-ADComputer "VM-WINDOWS7" -Properties location |select-object location
它的工作原理和我得到的結果是:
Location
--------
NA/HQ/Building A
但是當我做:
PS > Set-ADComputer "VM-WINDOWS7" -RoomNumber "7"
或者
PS > Set-ADComputer "VM-WINDOWS7" -RoomNumber @{Replace="7"}
我得到錯誤:
Set-ADComputer: Cannot find a parameter that matches the name "RoomNumber".
At line: 1 Character: 41
+ Set-ADComputer "VM-WINDOWS7" -RoomNumber <<<< @{Replace="7"}
+ CategoryInfo: InvalidArgument: (:) [Set-ADComputer], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.SetADComputer
這就像我之前說的那樣,參數RoomNumber不被識別,所以我想也許它有另一個名字,例如(AD中的帳戶名稱= PowerShell中的SAMAccountName)。
需要修正'Write-Host'房間號設置爲...'行的雙引號情況。看起來第一個引號不是正確的字符,只是刪除它並重新鍵入它,你也不想在你的問題行中增加一個「o」Rooom' – ssaviers
你的代碼_appears_ right,但是我在這裏看到一個錯字:'@ {RooomNumber =「$ RoomNumber」}'應該是'@ {RooomNumber =「$ RoomNumber」}'。我會一直在尋找,你還會得到錯誤嗎?你需要詳細描述發生了什麼,你將會得到更快的解決方案。 – Matt