【发布时间】:2015-09-04 16:19:18
【问题描述】:
感谢大家的回复。我已经纠正了我的代码中的错误,尽管它们只是一个剪切和粘贴错误。这是我得到的错误示例。例如,如果我这样做:
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 "Room number set to...行上的双引号情况。看起来第一个引号不是正确的字符,只需将其删除并重新键入它,您也不想在其中的变量周围加上引号。您的问题行中还有一个额外的“o”Rooom -
你的代码出现是对的,但我在这里看到一个错字:
@ {RooomNumber="$RoomNumber"}应该是@{RooomNumber="$RoomNumber"}。我会继续寻找。你也有错误吗?您需要详细描述正在发生的事情。您将更快地获得解决方案。
标签: powershell active-directory