谢谢大家的回复。我已经纠正了我的代码中的错误,尽管它们只是剪切和粘贴错误。这是我得到的错误的一个例子。如果我的例子做:使用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