2017-03-23 9 views
1

マネージャのdirectReportsプロパティを取得できず、各ユーザー名を繰り返し処理できません。彼らは正式な名前の配列として出てくる。正規名の配列を分割する方法は?

どうすればこれらの名前を反復してSet-ADUserを使用することができますか?

$people.Split(" ,", [System.StringSplitOptions]::RemoveEmptyEntries) 

これは、各ユーザーが "" で区切られている私に

 
CN=USER 
OU=PLACE 
OU=MOREPLACE 

のような正規名

の各セクションでの行を提供します。

+0

を使用し、すべてで分割する必要はありません、そしてどのようにあなたが失敗しようとしたものを持っていますか? SOはコード作成サービスではありません。最善の質問は、有益な情報を提供するものであり、回答者が自分の正解を工夫するためのガイドとなり得ることです。 [良い質問をする方法](http://stackoverflow.com/help/how-to-ask)を参照してください。 –

+0

[ForEachステートメント](https://ss64.com/ps/foreach.html)が役立つと感じるかもしれません –

+1

*あなたにあなたの入力とあなたの希望する出力がどのように表示されるか*あなたが他の人に手伝ってもらうのに役立ちます。 –

答えて

3

directReports ADプロパティは正規名ではなく、識別名の配列です。識別名は、ADコマンドレットの受け入れ可能なIDです。それはすでに配列なので最後に、あなたはちょうどあなたが試してみました何ForEach-Object

Get-ADUser ExampleManager -Properties directReports | 
    Select -ExpandProperty directReports | 
    ForEach-Object { Set-ADUser $_ ...} 
+0

ありがとう、CanonicalとDistinguishedが混乱しました。 – tekno45

関連する問題