我有一个.csv文件中包含的广告安全组列表,以以下格式:
小组,groupName1,groupName2,GroupName3,
我想做的是将此.csv文件馈送到PowerShell脚本,因此它可以报告.CSV文件中列出的组的组成员资格(我不在乎递归组,因为我不don't有(。然后,脚本应将结果转储到进一步的.csv文件中。
因此,理想情况下,我希望最终.csv产生的脚本输出是类似的。
GroupName1,名称GroupName1,名称GroupName2,名称GroupName2,名称GroupName3,名称GroupName3,名称
你明白了。
我正在挣扎的是要使循环进行某种形式,以浏览.csv中的所有组并输出结果如上所示(groupName和user用户(。
$list = Import-Csv -Path C:tempADGroups.csv
foreach ($groups in $list) {
$ADGroup = $groups.groupname
Get-ADGroupmember -Identity $ADGroup | Get-ADUser -Property Name
Export-Csv -Path "c:tempdump.csv"
}
我已经看到了其他建议(请参见此处的示例(,但是这些没有从.csv文件中读取组。
您需要将组名称添加到输出中。我会使用计算的属性来执行此操作。您还需要将Export-Csv
移动到循环外或使用-Append
。如果没有,组将每次覆盖文件,它将仅包含最后一个组的结果。尝试以下操作:
Import-Csv -Path C:tempADGroups.csv | Foreach-Object {
$ADGroup = $_.Groups
Get-ADGroupmember -identity $ADGroup | Select-Objects @{n="Groupname";e={$ADGroup}}, Name
} | Export-CSV -Path "c:tempdump.csv" -NoTypeInformation