如何在csv中获取ADUser的Groupmembership



我构建这个脚本是为了获取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中的所有组。愿它能帮助有同样问题的人。

最新更新