2016-03-23 7 views
1

私はループスルーして処理することができるADグループ名のリストを作成するためにPowerShell構文を取得しようとしています。 という名前のグループのための作業コードは次のとおりです。プロセスへのグループ名の値のリストを循環

$Groups = (Get-AdGroup -identity "My_Group_Name" | 
      select name -expandproperty name) 

要件は今

`$Groups` is a list of 8 known groups. So I am aiming for something like: 

$GroupList = "My_Group_Name1,My_Group_Name2,My_Group_Name3,My_Group_Name4"; 
$Groups = $GroupList.split(","); 
$Groups = (Get-AdGroup -identity ***each group member of $Groups*** | 
      select name -expandproperty name) 

は、それは私が苦労しています***each group member of $Groups***をして少しだと規定して彼らは、8つのサブグループにこのADグループを分割しましたと。

答えて

0

変更この:この中

$Groups = $GroupList.split(","); 
$Groups = (Get-AdGroup -identity ***each group member of $Groups*** | 
      select name -expandproperty name) 

$Groups = $GroupList.Split(",") | Get-ADGroupMember | 
      Select-Object -ExpandProperty Name 

いっそのこと、すぐに配列として$GroupListを定義する(@Chardが示唆したように)、あなたは文字列を分割する必要はありませんので、最初に:

$GroupList = 'My_Group_Name1', 'My_Group_Name2', 'My_Group_Name3', 
      'My_Group_Name4' 
$Groups = $GroupList | Get-ADGroupMember | Select-Object -Expand Name 
+0

すべての返信をありがとう。私はコードが今働いている。 @Ansgar、これはまさに私が考えていたものです。パイプラインを頭の中でまっすぐにしています。 簡潔にするため、グループループ処理は表示されませんでした。これは、グループの名前を各メンバー行の列として挿入し、Excelに簡単に貼り付けることができるようにするために、より難しい作業でした。 すべての返信をもう一度おねがいします。 –

0

グループの配列をループする必要があります。

foreachの($のグループリストで$グループ){

your code here 

}

2

次のことを試してみてください。

$GroupList = "My_Group_Name1","My_Group_Name2","My_Group_Name3","My_Group_Name4" 
$GroupMembers = @() 

$GroupList | ForEach-Object { 
    $GroupMembers += (Get-AdGroup -identity $_ | Get-ADGroupMember | select -expandproperty name) 
} 

$GroupMembers 

私はすべて保存するために、1つの文字列を使用していないだろうあなたのグループ名の中で、文字列の配列を使ってみると、splitコマンドを使う必要はありません。上記のコードは、グループ名の配列をとり、変数の名前を変数$GroupMembersに追加します。

0
$Grouplist = @(
"group1", 
"group2" 
) 

foreach($group in $Grouplist){  
    Get-ADGroupMember -identity $group |select name -expandproperty name 
} 
関連する問題