私は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スクリプトを記述し、アカウントでextAttributesを設定および削除するためのGUIを備えたエディターを作成しました。
必要に応じて、 http://toolbocks.de/viewtopic.php?f=3&t=4 をご覧ください
申し訳ありませんが、テキストの説明はドイツ語です。 GUI自体は英語です。
私のドメインではこのスクリプトを定期的に使用していますが、何も削除したり他の害を及ぼすことはありませんでした。このスクリプトがドメインで期待どおりに動作することを保証しません。しかし、私がソースを提供するとき、それを実行する前にそれを見ることができます(そして見るべきです)。
拡張属性は、Exchangeによって追加されます。 このTechnet記事 によると、次のようなものが機能するはずです。
Set-Mailbox -Identity "anyUser" -ExtensionCustomAttribute4 @{Remove="myString"}
Set-ADUser -Identity anyUser -Replace @{extensionAttribute4="myString"}
これも便利です
または-Removeパラメーター
Set-ADUser -Identity anyUser -Remove @{extensionAttribute4="myString"}
値をクリアするには、いつでも$ Nullにリセットできます。例えば:
Set-Mailbox -Identity "username" -CustomAttribute1 $Null