PowerShell查询AD用户所属组并按名称过滤后获取组描述属性
错误原因
你遇到的报错是管道输入类型不匹配导致的:
- 存储在
$mem中的是AD组的可分辨名称(DN)字符串集合,可直接被Get-ADGroup的管道参数识别 Select-String处理字符串后返回的是MatchInfo类型的匹配结果对象,不是原始的DN字符串,因此Get-ADGroup无法解析该输入,触发绑定失败错误。
解决方法
方案1(更推荐,过滤逻辑精准)
先查询所有所属组的属性,再针对组名做过滤,完全避免组DN路径中其他字段包含匹配字符串导致的误判:
$mem | Get-AdGroup -Properties Description | Where-Object Name -like "*888*" | Select-Object Name, Description
方案2(先过滤DN再查询)
如果要提前过滤DN减少查询量,改用Where-Object做字符串匹配,返回结果仍是原始DN字符串,可正常传给Get-ADGroup:
$mem | Where-Object { $_ -match '888' } | Get-AdGroup -Properties Description | Select-Object Name, Description
内容的提问来源于stack exchange,提问作者krokodilko
相关产品推荐
相关产品推荐

