我构建这个脚本是为了获取csv中所有用户的组。(我导入的csv文件只有用户的sAM(
$ImportPath = Import-CSV "c:tempusers.csv" -Encoding:UTF8
$ImportPath | %{
Get-ADPrincipalGroupMembership $_.sAMAccountName | Select-Object sAMAccountName
} | Export-csv 'c:tempgroupmembership.csv' -NoType
现在导出csv中充满了组,但我不知道哪个组属于哪个用户。
请记住,一个用户将成为多个AD组的成员。我不知道你到底打算如何将这些信息放入CSV中。但这应该能为你提供你需要的信息。
$ImportPath | ForEach-Object {get-aduser $_.sAMAccountName -properties MemberOf | Select-Object -Property SamAccountName, GivenName, MemberOf} | Export-Csv 'c:tempgroupmembership.csv' -NoTypeInformation
我是这样做的:
$ImportPath | % {
$groups = (Get-ADPrincipalGroupMembership -Identity $_.sAMAccountName |
Select-Object -ExpandProperty name) -join ','
get-aduser $_.sAMAccountName -properties memberof,samaccountname |
select samaccountname, @{name="Groups";expression={$Groups}}
}| export-csv $ouputPath -Delimiter ";" -NoTypeInformation -Encoding UTF8
输出csv看起来像这个
A B
User1 group1, group2,group3
user2 group2,group3, anotherGroup
因此,单元格B包含您所证明的用户在单元格A中的所有组。愿它能帮助有同样问题的人。