在PowerShell中导出用户的广告组成员身份
我需要导出用户分配到的所有组的列表。此命令适用于我的需要:在PowerShell中导出用户的广告组成员身份,powershell,active-directory,Powershell,Active Directory,我需要导出用户分配到的所有组的列表。此命令适用于我的需要: Get-ADPrincipalGroupMembership username | select name | Export-Csv filepath 然而,我必须审查我公司大约100名用户,所以我想将这些CSV合并到Excel电子表格中。我的问题是,当我合并CSV时,我只是有一个随机的广告组列表 这个问题的解决方案是导出一个包含两列的CSV,而第1列包含广告用户名和广告组名的第2列,例如 用户A | A组;用户A | B组;用户A
Get-ADPrincipalGroupMembership username | select name | Export-Csv filepath
然而,我必须审查我公司大约100名用户,所以我想将这些CSV合并到Excel电子表格中。我的问题是,当我合并CSV时,我只是有一个随机的广告组列表
这个问题的解决方案是导出一个包含两列的CSV,而第1列包含广告用户名和广告组名的第2列,例如
用户A | A组;用户A | B组;用户A | C组
我已经发现,使用
Get-ADPrincipalGroupMembership
可能无法做到这一点,但不幸的是,我还没有找到任何解决方案。您考虑的格式对查看和处理都很糟糕。或者构建一个将用户映射到每个组的列表(每行一个映射)
或者使用辅助分隔符加入组列表,并将用户映射到其所有组,如下所示:
$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
您考虑的格式对于查看和处理都很糟糕。或者构建一个将用户映射到每个组的列表(每行一个映射) 或者使用辅助分隔符加入组列表,并将用户映射到其所有组,如下所示:
$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
非常感谢你!我根本不是power powershell用户,因此我非常感谢您的帮助。非常感谢!我根本不是power powershell用户,因此我非常感谢您的帮助。