2017-05-06 111 views
-2

我已經包含在.csv文件AD安全組的列表的CSV列表,按以下格式:添加AD組成員AD組

 
Groups, 
Groupname1, 
Groupname2, 
Groupname3, 

我想要做的是飼料此.csv文件添加到PowerShell腳本中,因此它可以報告.csv文件中列出的組的組成員身份(我不關心遞歸組,因爲我沒有)。該腳本應該將結果轉儲到更多.csv文件。

所以,理想情況下,我希望從腳本生成的最終.csv輸出是類似的。

 
Groupname1, name 
Groupname1, name 
Groupname2, name 
Groupname2, name 
Groupname3, name 
Groupname3, name 

你明白了。

我正在努力的是獲得某種形式的循環,從.csv中查看所有組,並輸出如上所示的結果(組名和用戶名)。

$list = Import-Csv -Path C:\temp\ADGroups.csv 

foreach ($groups in $list) { 
    $ADGroup = $groups.groupname 

    Get-ADGroupmember -Identity $ADGroup | Get-ADUser -Property Name 
    Export-Csv -Path "c:\temp\dump.csv" 
} 

我見過的其他建議(見例如here),但這些不從.csv文件中讀取組。

回答

1

您需要將組名添加到輸出中。我會用計算的屬性來做到這一點。您還需要將Export-Csv移到迴路外或使用-Append。如果沒有,組將每次覆蓋該文件,它將只包含最後一組的結果。試試這個:

Import-Csv -Path C:\temp\ADGroups.csv | Foreach-Object { 

    $ADGroup = $_.Groups 

    Get-ADGroupmember -identity $ADGroup | Select-Objects @{n="Groupname";e={$ADGroup}}, Name 
} | Export-CSV -Path "c:\temp\dump.csv" -NoTypeInformation 
+0

這是一種享受。非常感謝! – SimonM73