簡體   English   中英

在PowerShell中導出用戶的AD組成員身份

[英]Exporting AD group memberships of users in PowerShell

我需要導出分配給用戶的所有組的列表。 此命令可以很好地滿足我的需求:

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

但是,我必須查看公司中的大約100個用戶,因此我想將這些CSV合並到Excel電子表格中。 我的問題是,當我合並CSV時,我只有一個隨機的AD組列表。

解決此問題的方法是導出帶有兩列的CSV,而第1列由AD用戶名和AD組名的第2列組成。

用戶A | A組; 用戶A | B組; 用戶A | C組

我已經知道使用Get -ADPrincipalGroupMembership可能無法實現這Get -ADPrincipalGroupMembership但是不幸的是我還沒有找到任何解決方案。

您正在考慮的格式對於查看和處理都很糟糕。 建立一個將用戶映射到每個組的列表(每行一個映射)

$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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM