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

运行PowerShell Get-MessageTrace脚本导出CSV时出现Guid参数转换错误

错误诱发原因

报错本质是PowerShell命令语法错误导致参数绑定错位,具体问题点如下:

  • 多个cmdlet之间未使用管道符|做流式传参,PowerShell会将后续所有裸写的命令、文件路径全部识别为Get-MessageTrace的输入位置参数。Get-MessageTrace的位置参数中MessageTraceId为Guid类型,会优先匹配到你写的CSV导出路径值,尝试将路径字符串转换为Guid时自然触发格式不匹配错误。
  • 导出路径写法不规范,C:"All email.CSV"属于无效路径格式,带空格的完整路径需要整体用引号包裹。
  • Get-MessageTraceDetail无合法输入源,该cmdlet必须绑定单条邮件追踪记录的MessageTraceId才能返回对应明细,不能直接裸写在命令序列中。
可行修复方案

根据实际导出需求选择对应命令即可:

仅导出邮件追踪摘要(不含单封邮件的投递/路由明细)

直接通过管道将查询结果传递给导出cmdlet,修正路径格式:

Get-MessageTrace -StartDate (Get-Date).Adddays(-9) -EndDate (Get-Date) -SenderAddress amir@worldheritageexhibitions.com -PageSize 5000 | Export-CSV -Path "C:\All email.CSV" -NoTypeInformation -Encoding UTF8

导出每封邮件的完整追踪详情

需要遍历查询到的所有邮件条目,逐条拉取明细后统一导出:

Get-MessageTrace -StartDate (Get-Date).Adddays(-9) -EndDate (Get-Date) -SenderAddress amir@worldheritageexhibitions.com -PageSize 5000 | ForEach-Object {
    $_ | Get-MessageTraceDetail
} | Export-CSV -Path "C:\All email.CSV" -NoTypeInformation -Encoding UTF8

注意:Exchange Online的Get-MessageTrace单次查询最多返回5000条、时间跨度最大为10天的记录,如果查询范围内符合条件的邮件总量超过5000条,需要增加分页逻辑拉取全量数据,避免导出结果遗漏。

内容的提问来源于stack exchange,提问作者Ankur Srivastava

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 12:15:34