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

PowerShell查询域用户密码最后修改时间导出CSV异常问题

问题根因

你的脚本循环内最终输出的是分号拼接的纯字符串,Export-Csv的运行逻辑是接收结构化PowerShell对象作为输入,自动解析对象的属性作为CSV列。当传入字符串类型数据时,Export-Csv会导出字符串本身的系统属性(如长度、类型等),而非你拼接的内容拆分后的字段,这就是导出结果异常的核心原因。直接运行脚本时控制台仅输出字符串的字面内容,所以显示符合预期。

解决步骤

方法1:修改脚本输出结构化对象(推荐)

将脚本末尾的拼接字符串输出代码:

"$DN;$blnPwdExpires;$PwdLastSet"

替换为输出自定义对象:

[PSCustomObject]@{
    可分辨名称 = $DN
    密码是否可过期 = $blnPwdExpires
    上次密码修改时间 = $PwdLastSet
}

修改完成后,执行以下命令即可导出符合预期的CSV文件,参数-NoTypeInformation可去掉CSV开头多余的类型说明行,-Encoding UTF8避免乱码:
scriptname.ps1 | Export-Csv "filename.csv" -Encoding UTF8 -NoTypeInformation

方法2:无需修改脚本直接输出文本(适配现有拼接逻辑)

如果不想改动原有脚本,可直接使用文本输出命令替代Export-Csv,直接将拼接好的分号分隔内容写入文件:
scriptname.ps1 | Out-File "filename.csv" -Encoding UTF8
该方法生成的CSV默认以分号作为分隔符,打开时若出现列合并的情况,可在表格软件导入时指定分隔符为分号即可。

内容的提问来源于stack exchange,提问作者M.T Davis

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:36:03