You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

获取AD安全组成员时排除计算机,执行脚本报错求助

解决AD安全组仅列出用户且避免计算机对象报错的问题

问题原因

你的脚本直接把Get-ADGroupMember返回的所有成员(包括用户和计算机)传给Get-ADUser,但Get-ADUser只能识别AD用户对象,计算机对象的身份信息无法被它解析,所以触发报错。

修改后的脚本

$GroupName = Read-Host -Prompt 'Enter the Group Name'
Get-ADGroupMember -Identity $GroupName -Recursive | 
Where-Object {$_.ObjectClass -eq 'user'} |  # 仅保留用户类型的成员
Get-ADUser -Properties Name,Mail,Title,Department | 
Sort-Object Department,Title,Name | 
Format-Table Name,Mail,Title,Department -AutoSize

关键说明

  • 添加Where-Object {$_.ObjectClass -eq 'user'}这一步,会过滤掉Get-ADGroupMember返回的计算机、组等非用户对象,确保只有用户对象进入后续的Get-ADUser处理流程,彻底避免报错。
  • 如果需要确认成员类型,也可以先运行Get-ADGroupMember -Identity $GroupName -Recursive | Select-Object Name, ObjectClass查看所有成员的类型,验证过滤逻辑是否生效。

内容的提问来源于stack exchange,提问作者Nelson Figueroa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 13:39:52