CSV导出与PowerShell读取用户名格式不一致问题求助
解决PowerShell读取AD导出CSV时用户名格式异常的问题
问题根源:你给出的导出命令里最后一步
| name, mail是错误写法,这会导致导出的Name列实际上存储的是AD用户对象的Name属性的对象结构,而非纯文本用户名。虽然CSV文件表面看着正常,但PowerShell读取时会解析成@{Name=abc}这种格式。修复后的导出命令:
Get-ADGroup $path -Server server.com | Get-ADGroupMember -Recursive | Select-Object -Unique | Get-ADUser -Properties Mail | Select-Object Name, Mail | Export-Csv c:\result.csv -NoTypeInformation关键调整点:
- 把错误的
| name, mail替换成| Select-Object Name, Mail,这会直接提取AD用户对象的Name和Mail属性的原始值,而非嵌套的对象结构 - 加上
-NoTypeInformation参数,避免CSV开头生成多余的类型信息行,进一步减少读取时的异常
- 把错误的
验证效果:用
Import-Csv c:\result.csv读取修复后的CSV,Name列会直接显示纯用户名(比如abc),不需要再用-Expand参数处理,对比两个CSV时也能直接用Compare-Object正常执行对比操作。
内容的提问来源于stack exchange,提问作者yisjin86
相关产品推荐
相关产品推荐

