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

PowerShell如何提取并显示花括号内的全部对象与内容?

解决方案

你之前的命令无法得到预期结果,是因为AD模块返回的多值属性默认以集合对象形式存储,直接select只会显示集合类型标识+花括号包裹的预览内容,不会展开所有条目。

方法1:直接展开单属性的所有条目

如果需要提取单个多值属性(比如示例中的PropertyNames)的全部值,使用-ExpandProperty参数展开集合即可:

# 取单个用户的所有PropertyNames条目
Get-ADUser -Filter * -SearchBase "OU=test2OU,DC=corp-auryn,DC=serverlabs,DC=be" | Select-Object -First 1 -ExpandProperty PropertyNames

# 取所有用户的所有PropertyNames条目并去重
Get-ADUser -Filter * -SearchBase "OU=test2OU,DC=corp-auryn,DC=serverlabs,DC=be" | Select-Object -ExpandProperty PropertyNames | Select-Object -Unique

方法2:保留用户关联关系,把多值属性转成易读格式

如果需要同时保留用户其他属性,把多值属性拼接为字符串展示,使用计算属性实现:

Get-ADUser -Filter * -SearchBase "OU=test2OU,DC=corp-auryn,DC=serverlabs,DC=be" | Select-Object Name,SamAccountName,@{
    Name = '所有属性名'
    Expression = { $_.PropertyNames -join ',' }
}

注意事项

查询AD用户时默认只返回基础属性,如果需要查询其他自定义/扩展属性,要在Get-ADUser后加-Properties <属性名列表>参数,不建议直接用-Properties *,会大幅降低查询效率。

内容的提问来源于stack exchange,提问作者Auryn Vansteenkiste

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 07:57:02