PowerShell使用Get-ADGroupMember导出CSV显示ADPropertyValueCollection问题
问题原因
导出结果显示Microsoft.ActiveDirectory.Management.ADPropertyValueCollection的核心原因是:Get-ADGroupMember返回的AD对象属性默认被封装在AD专用的集合对象中,直接导出CSV时PowerShell会输出集合的类型名,而非集合内存储的实际属性值。
解决方案
方案1:单属性导出(仅需导出SamAccountName时使用)
通过Select-Object的-ExpandProperty参数直接展开属性的实际值,命令如下:
Get-ADGroupMember -Identity "gov2" | Select-Object -ExpandProperty SamAccountName | Export-Csv -Path "C:\New folder\gov2.csv" -NoTypeInformation
方案2:多属性导出(需同时导出其他AD属性时使用)
使用计算属性显式提取属性值,可保留自定义列名,也可适配多字段导出的需求,命令如下:
Get-ADGroupMember -Identity "gov2" | Select-Object ` @{Name='SamAccountName';Expression={$_.SamAccountName.ToString()}},` @{Name='DisplayName';Expression={$_.Name}} | ` Export-Csv -Path "C:\New folder\gov2.csv" -NoTypeInformation
额外注意事项
- 若组内包含嵌套AD组,需要递归导出所有层级的成员,可在
Get-ADGroupMember后添加-Recursive参数 - 执行命令前需确保已导入Active Directory模块,可执行
Import-Module ActiveDirectory完成导入 - 导出路径需确保当前执行PowerShell的账号拥有写入权限,避免导出失败
内容的提问来源于stack exchange,提问作者dragkin
相关产品推荐
相关产品推荐

