如何在PowerShell Out-GridView结果中添加用户所属ABC_*组列?
解决方法:在Out-GridView中显示用户所属的ABC_*组名称
原命令的管道流程会丢失用户与所属ABC_*组的关联信息,导致无法看到用户对应组名。可以通过逐个遍历目标组,为每个用户添加自定义组名列的方式解决:
Get-ADGroup -Filter {Name -like 'ABC_*'} | ForEach-Object { $targetGroup = $_.Name $_ | Get-ADGroupMember -Recursive | Where-Object { $_.objectClass -eq 'user' } | Get-ADUser -Properties mail | Where-Object { $_.enabled } | Select-Object *, @{Name='ABCGroupName'; Expression={$targetGroup}} } | Out-GridView
关键逻辑说明:
- 用
ForEach-Object逐个处理每个ABC_*组,提前保存当前组名到变量 - 通过
Select-Object保留用户原有所有属性(包括mail),同时新增ABCGroupName列绑定当前组名 - 添加
Where-Object { $_.objectClass -eq 'user' }过滤组内非用户对象,避免后续Get-ADUser执行报错
内容的提问来源于stack exchange,提问作者FredBzf
相关产品推荐
相关产品推荐

