如何在csv中获得ADUser的组成员身份

时间:2018-07-17 05:29:55

标签: powershell csv active-directory

我构建此脚本来获取csv中所有用户的组。(我导入的csv文件仅包含用户的sAM)

    $ImportPath =  Import-CSV "c:\temp\users.csv" -Encoding:UTF8
    $ImportPath | %{
    Get-ADPrincipalGroupMembership $_.sAMAccountName | Select-Object sAMAccountName
    } | Export-csv 'c:\temp\groupmembership.csv' -NoType

现在export-csv充满了群组,但是我不知道哪个群组属于哪个用户。

2 个答案:

答案 0 :(得分:0)

请记住,用户将成为多个广告组的成员。我不知道您打算如何将该信息放入CSV中。但这应该可以为您提供所需的信息。

$ImportPath | ForEach-Object {get-aduser $_.sAMAccountName -properties MemberOf | Select-Object -Property SamAccountName, GivenName, MemberOf} | Export-Csv 'c:\temp\groupmembership.csv' -NoTypeInformation

答案 1 :(得分:0)

我这样做是这样的:

    $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中。 可能会帮助遇到相同问题的人。