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

Active Directory Secretary字段CSV导出异常问题及解决咨询

Active Directory Secretary字段导出CSV显示异常的原因与解决办法

异常原因

Secretary是AD的多值属性,而Manager是单值属性。用Export-Csv导出时,PowerShell不会自动展开多值属性的内容,而是输出它的对象类型Microsoft.ActiveDirectory.Management.ADPropertyValueCollection;但Out-File会调用对象的ToString()方法,自动展开多值属性并以{}包裹的格式显示,所以TXT文件能正常看到DN。AD中显示的{}就是多值属性的标识,代表该字段可存储多个条目。

解决办法

1. 提取单/多值Secretary为字符串格式

通过计算属性将多值集合转为字符串,既可以解决CSV导出显示对象类型的问题,还能去掉{}:

Get-ADUser -Filter * -Property samaccountname, manager, secretary | 
    Select-Object samaccountname, manager, @{Name='Secretary'; Expression={$_.Secretary -join ';'}} | 
    Export-Csv -Path c:\temp\output.csv -NoTypeInformation
  • -join ';'会把多个Secretary值用分号分隔成单个字符串,单个值时直接输出DN;
  • 添加-NoTypeInformation可以避免CSV开头出现类型信息行。

2. 处理空值场景(可选)

如果存在用户的Secretary字段为空的情况,可以加判断避免输出空集合:

Get-ADUser -Filter * -Property samaccountname, manager, secretary | 
    Select-Object samaccountname, manager, @{Name='Secretary'; Expression={if ($_.Secretary) { $_.Secretary -join ';' } else { $null }}} | 
    Export-Csv -Path c:\temp\output.csv -NoTypeInformation

3. 验证导出结果

导出后可以用以下命令快速验证CSV内容:

Import-Csv c:\temp\output.csv | Select-Object samaccountname, Secretary

内容的提问来源于stack exchange,提问作者ed lu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 02:43:23