【问题标题】:Exporting AD group memberships of users in PowerShell在 PowerShell 中导出用户的 AD 组成员身份
【发布时间】:2019-07-30 16:23:15
【问题描述】:

我需要导出用户分配到的所有组的列表。这个命令可以满足我的需要:

Get-ADPrincipalGroupMembership username | select name | Export-Csv filepath

但是,我必须检查公司中大约 100 位用户,因此我想将这些 CSV 合并到 Excel 电子表格中。我的问题是,当我合并 CSV 时,我只有一个随机的 AD 组列表。

此问题的解决方案是导出包含两列的 CSV,而第一列由 AD 用户名和第二列的 AD 组名组成,例如。

用户 A | A组;用户 A | B组;用户 A | C组

我已经发现Get -ADPrincipalGroupMembership 可能无法做到这一点,但不幸的是我还没有找到任何解决方案。

【问题讨论】:

    标签: powershell active-directory


    【解决方案1】:

    您正在考虑的格式对于查看和处理来说都很糟糕。要么建立一个列表,将用户映射到每个组(每行一个映射)

    $users = 'userA', 'userB', ...
    foreach ($user in $users) {
        $groups = Get-ADPrincipalGroupMembership $user |
                  Select-Object -Expand Name
        $groups | ForEach-Object {
            New-Object -Type PSObject -Property @{
                'User'  = $user
                'Group' = $_
            }
        }
    } | Export-Csv 'output.csv' -NoType
    

    或使用辅助分隔符加入组列表并将用户映射到其所有组,如下所示:

    $users = 'userA', 'userB', ...
    foreach ($user in $users) {
        $groups = Get-ADPrincipalGroupMembership $user |
                  Select-Object -Expand Name
        New-Object -Type PSObject -Property @{
            'User'  = $user
            'Group' = $groups -join '|'
        }
    } | Export-Csv 'output.csv' -NoType
    

    【讨论】:

    • 非常感谢!我根本不是 powershell 用户,所以非常感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2019-08-02
    • 1970-01-01
    • 2016-10-26
    • 1970-01-01
    • 2010-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多