如何将set -aduser与-intance参数一起将属性更新为空白



我们已经使用powershell来大规模更新广告,已有几年的数据使用CSV文件的数据。代码非常简单:

$Empinfo = Import-CSV AFile.csv
$EmpAD = Get-Aduser someone
$EmpAD.Title = $EmpInfo.Title 
$EmpAD.streetAddress = $Empifo.street
$EmpAD.PostalCode = $Empifo.zip
<snip>
Set-ADUser -Instance $EmpAD

最近,由于组织的怪异,街道和拉链信息已被某些人掩盖。当我们运行相同的脚本并尝试设置时,说街道读数一无所有,set-aduser会引发"替换"错误。(请注意,我尝试将StreetDress设置为一个空间,但仍然失败。)

经过大量反复试验,今天我能够通过测试空白并使用以下内容来使其起作用:

if (Empinfo.street -eq $null) {
     Set-ADUser $EmpAD -Clear streetaddress,postalCode
} else {
    $EmpAD.streetAddress = $Locations[$site].street
    $EmpAD.PostalCode = $Locations[$site].zip
}

换句话说,我们必须发出特定的练习措施来实现这一目标。这是我们应该期望这能起作用的方式吗?我看不到任何内容参数文档中的任何内容,说您不能以我们正在尝试的方式清空属性。

是的,您必须使用 -crear 喜欢在示例代码中已经完成的方式才能实现这一目标。那是正确的方法。空字段实际上将属性值作为null保存。如此重要的清理。

最新更新