通常我使用" set-aduser -replace"用于更新Active Directory中的属性的选项,但我发现某些属性需要不同的语法来修改它们,我只是想知道为什么。一个很好的例子是下面的两个属性,Office和physicalDeliveryName,要修改的cmdlet相同,但语法不同。所有属性都不是一样的吗?
$users = gc -Path C:\0NIX\03SCRIPTS\TMP\jkirb\allen.txt
foreach ($user in $users) {
Get-ADUser -Identity $user -Properties * | Select samaccountname, Office, physicalDeliveryOfficeName
Set-ADuser $user -Office "Allen"
Set-ADuser $user -replace @{physicalDeliveryOfficeName="Allen"}
}
答案 0 :(得分:1)
Set-ADUser
帮助Detailed Description的第一句话解释了这一点:
Set-ADUser cmdlet可修改Active Directory用户的属性。您可以使用cmdlet参数修改常用属性值。可以使用“添加”,“替换”,“清除”和“删除”参数来修改与cmdlet参数无关的属性值。
因此,它似乎只是微软为公共属性提供了便利性参数。我想你总是可以使用更长的语法(即使是常见的属性)来制作统一的代码(以及更容易的函数包装等)。