我正在使用 powershell 来修改一些 AD 扩展属性。
这是我添加扩展属性的代码
Set-ADUser -Identity "anyUser" -Add @{extensionAttribute4="myString"}
它有效,但我怎样才能删除相同的扩展属性?我找不到类似的东西-remove
。
我正在使用 powershell 来修改一些 AD 扩展属性。
这是我添加扩展属性的代码
Set-ADUser -Identity "anyUser" -Add @{extensionAttribute4="myString"}
它有效,但我怎样才能删除相同的扩展属性?我找不到类似的东西-remove
。
您可以尝试使用-Clear
参数
例子:-Clear Attribute1LDAPDisplayName, Attribute2LDAPDisplayName
我今天使用了以下 - 它有效!
将值添加到 extensionAttribute
$ThisUser = Get-ADUser -Identity $User -Properties extensionAttribute1
Set-ADUser –Identity $ThisUser -add @{"extensionattribute1"="MyString"}
从 extensionAttribute 中删除一个值
$ThisUser = Get-ADUser -Identity $User -Properties extensionAttribute1
Set-ADUser –Identity $ThisUser -Clear "extensionattribute1"
我一直在努力修改我们域中的扩展属性。然后我编写了一个 powershell 脚本并创建了一个带有 GUI 的编辑器来设置和删除帐户中的 extAttributes。
如果你喜欢,你可以看看它http://toolbocks.de/viewtopic.php?f=3&t=4
对不起,文本中的描述是德文的。GUI 本身是英文的。
我在我们的域中定期使用此脚本,它从未删除任何内容或造成任何其他伤害。我不保证此脚本在您的域中按预期工作。但正如我提供的源代码,您可以(并且应该)在运行它之前查看它。
扩展属性由 Exchange 添加。根据这篇 Technet 文章,这样的东西应该可以工作:
Set-Mailbox -Identity "anyUser" -ExtensionCustomAttribute4 @{Remove="myString"}
或 -Remove 参数
Set-ADUser -Identity anyUser -Remove @{extensionAttribute4="myString"}
要清除该值,您始终可以将其重置为 $Null。例如:
Set-Mailbox -Identity "username" -CustomAttribute1 $Null
Set-ADUser -Identity anyUser -Replace @{extensionAttribute4="myString"}
这也很有用