我有一个包含在.csv文件中的AD安全组列表,格式如下:
Groups, Groupname1, Groupname2, Groupname3,
我想要做的是将此.csv文件提供给PowerShell脚本,以便它可以报告.csv文件中列出的组的组成员身份(我不关心递归组,因为我没有任何东西)。然后,该脚本应将结果转储到另一个.csv文件。
所以,理想情况下,我希望脚本的最终.csv生成输出类似于。
Groupname1, name Groupname1, name Groupname2, name Groupname2, name Groupname3, name Groupname3, name
你明白了。
我正在努力的是获得某种for循环,查看.csv中的所有组并输出如上所示的结果(groupname然后是用户)。
$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文件中读取这些组。
答案 0 :(得分: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