我正在寻求帮助以了解为什么会发生这种情况:
Get-ADComputer -filter * -SearchBase "OU=x,OU=xx,OU=xxx,DC=xxx,DC=com" -Properties *
不显示“公司”计算机的属性。但是,如果我运行:
Get-ADComputer -filter * -SearchBase "OU=x,OU=xx,OU=xxx,DC=xxx,DC=com" -Properties * | select name, company, location
公司属性确实出现了。我正在尝试更新公司属性,但我认为它不允许我更新,因为该属性未列在-特性*.
Set-ADComputer : A parameter cannot be found that matches parameter name 'company'.
答案1
对于没有直接 setter 方法的属性,您可以使用-Replace
(和-Add
,-Remove
, )参数:-Clear
PS C:\> Get-ADComputer pc4711 |Set-ADComputer -Replace @{company='Evil Corp'}
PS C:\> Get-ADComputer pc4711 -Properties * |Select-Object name,company
name company
---- -------
pc4711 Evil Corp
-Replace
适用于具有和不具有现有值的对象。-Add
会导致具有现有值的对象出现错误,因为该属性Company
只能保存一个值。