2012-02-14 55 views
1

すべてのグループ名でCSVを作成しました。次のスクリプトは、 "group.csv"からすべてのグループ名を読み取り、グループとメンバーを一覧表示します。Powershell ADのグループとメンバーをCSVにエクスポートして

スクリプト:

Add-PSSnapin Quest.ActiveRoles.ADManagement 
$csv = Get-Content "f:\Temp\group.csv" 

$result = $csv | foreach-object { 
$group=$_ 
get-qadgroupmember "$_" -sizelimit 0 -indirect | select-object samaccountname,@{n="GroupName";e={$group}} 
} 
$result | export-csv f:\temp\groupandmem.csv -notypeinformation 

各メンバーの多くの「group.csv」で1000個のを超えるグループがあります。スクリプトの実行はメモリの問題で終了し、最後に実行されるため、groupandmem.csvには何も書き込まれません。メンバーを表示し、書き込み、ADのグループを検索し、CSVからグループを一覧表示する、「group.csv」で、各グループについて - :

私は、次の質問がある:

ですがすることが可能ですグループ名とメンバーをユーザーgroupandmem.csvに追加します。 "group.csv"内のすべてのグループに対してこれを行います。

次のように-The groupandmem.csvが充填されている:

行1基は、MEMBER1、members2、members3 .......

行2グループ2、MEMBER1、members2等

答えて

1

変数に代入を開始すると、powershellはパイプ(AD)の一端から他端(CSVファイル)にユーザーを「ストリーミング」できなくなります。

Get-Content "f:\Temp\group.csv" | foreach-object { 
    $group = $_ # grab current group name 
    get-qadgroupmember $group -sizelimit 0 -indirect | ` 
     select-object samaccountname,@{n="GroupName";e={$group}} 
} | export-csv f:\temp\groupandmem.csv -notypeinformation 
最初から最後まで本当の "パイプライン"があります: csv | foreach | get | transform | export

これまでは、すべてを変数に割り当てて、次のコマンドに渡す前に、それをバックアップしていました。

更新:現在のキャプチャグループ名(行)

+0

おかげで追加$グループ。 groupnameを追加してから、同じ行にあるすべてのメンバーを追加することは可能ですか?Row 1 group、member1、members2、members3 ....... 行2 group2、member1、members2など – user1195370

+0

ok、編集者グループ名が追加されました。 – x0n

関連する問題