私が言及したフィールドに値のスペースがあるADの小さな問題を修正したいと考えています。ADSIのlegacyExchangeDN値をPowerShellで置き換えます。
例:
legacyExchangeDN : /o= First Organization/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=6131a3a42ca946b98cc146345cfd0c2e-Ron E
は次のようになります。
legacyExchangeDN : /o=First Organization/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=6131a3a42ca946b98cc146345cfd0c2e-Ron E
これは、複数のユーザーに影響を与えると私は手動でADのアトリビュートエディタで値を更新することができますが、私はできることを期待していましたこれを自動化する。私はここで簡単に何かが欠けてるよう
Set-ADUser : Multiple values were specified for an attribute that can have only one value
At line:1 char:1
+ Set-ADUser reyer -Replace @{legacyExchangeDN="/o= ","/o="}
それは感じているが、私はそれを見つけることができません。
#List all users to check existing values
$ADUserList = Get-ADUser -Filter* -Properties * | fl name, EmailAddress, legacyExchangeDN
#Replace value with space with value without space
Set-ADUser reyer -Replace @{legacyExchangeDN="/o= ","/o="}
2行目には、次のエラーを生成します。
は、ここで私がこれまで持っているものです。私は1人のユーザーでこれをテストしています。私は一度テストされた1つのスクリプトの残りのすべてのユーザーに対してこの値を置き換えたいと思います。フィールドにスペースがあるという基準に合ったユーザーだけを対象とすることができれば、それを保管したり配管したりするのに役立つはずです。
だけ交換してください---> "/ O =" のlegacyExchangeDNのテキスト値に存在するスペース(S)と
対象ユーザー:
私の最終的な結果は次のようになります。 "/ o =最初の組織/ ou = Exchange管理グループ(FYDIBOHF23SPDLT)/ cn =受信者/ cn = 6131a3a42ca946b98cc146345cfd0c2e-Ron E"のテキスト値の残りの部分を保持しながら、 "/ o =
あなたの時間と注意のための先進的なおかげで!
スワップ選択のためのFLをし、それが良い仕事しないかどうかを確認します。 – mjolinor