Exchange Online 的 Exchange 管理中心中的新邮件跟踪

管理员可以通过导航到 Exchange 管理中心>邮件>邮件跟踪来访问新邮件跟踪及其功能。

将更改部署到租户后,“新建消息跟踪”默认切换为“打开”。 如果要禁用预览版,可以通过将此设置切换为 “关”来执行此作。

注意

旧的消息跟踪 UX 和 cmdlet 将于 2025 年 9 月 1 日弃用。

新邮件跟踪的屏幕截图。

扩展查询范围

现在,可以查询长达 90 天的历史数据,以便进行准实时查询。 但是,一次只能查询 10 天的数据。

主题筛选器:

消息跟踪查询 的主题 筛选器具有以下选项: 以 开头以 结尾包含。 此筛选器还支持特殊字符。

详细搜索选项的屏幕截图。

传递状态筛选器

传递状态筛选器支持搜索状态,例如“已隔离”、“已筛选为垃圾邮件”和“正在获取”状态

传递状态筛选器的屏幕截图。

时间范围

在“时间范围”部分中,默认值为 2 天,但可以指定日期/时间范围,最长为 90 天。 使用日期/时间范围时,请考虑以下问题:

  • 默认情况下,在“自定义时间范围”视图中选择时间范围以指定以下值:
    • 时区:适用于查询输入和查询结果
    • 开始日期:日期和时间
    • 结束日期:日期和时间

时间范围的屏幕截图。

在“自定义时间范围”视图中保存查询会保存绝对日期/时间范围 (例如 2025-06-06 13:00 to 2025-06-08 18:00 ,) 。

  • 可以使用时间线切换到滑块视图。

滑块视图的屏幕截图。

滑块 视图中保存查询会保存相对时间范围 (例如,从今天开始的两天) 。

可自定义列:

对于搜索结果,可以从可自定义的列中选择。

自定义列的屏幕截图。

较宽的浮出控件选项

可以为邮件跟踪详细信息选择更宽的浮出控件的浮出控件选项。

浮出控件的屏幕截图。

时区一致性

邮件跟踪默认为登录管理员的 Exchange 帐户设置中设置的时区。

使用 PowerShell cmdlet Get-MessageTraceV2

若要通过新的 PowerShell cmdlet Get-MessageTraceV2利用新的消息跟踪功能,请确保使用版本 3.7.0 或更高版本的 Exchange Online PowerShell V3 模块

限制限制:为了降低滥用和滥用Exchange Online资源的风险,确保所有用户的服务可用性,并为我们的客户提供可预测的体验,我们根据一段时间内的请求数实施了基于速率的限制。 对于租户,在 5 分钟的运行时段内最多接受 100 个查询请求。 如果过去 5 分钟内的请求速率低于 100 个请求,则不会自动应用限制。 如果租户的自动化设置为查询频率超过限制阈值,请将自动化更新为低于限制限制。

Cmdlet 租户级别限制
Get-MesesageTraceV2 每 5 分钟 100 个请求
Get-MessageTraceDetailV2 每 5 分钟 100 个请求

ResultSize parameter:新的消息跟踪支持默认值 1000 个结果, (通过 -ResultSize 参数) 设置最多 5000 个结果。 此更改旨在确保资源的合理使用,因为分页可能会给系统造成性能问题。

StartingRecipientAddress parameter:此参数的main用途是帮助拉取后续数据,同时最大程度地减少重复。

由于不再支持分页,因此可以将 参数与查询结果的最后一条记录的时间结合使用EndTimeReceived,并使用RecipientAddress上一个结果的最后一条记录填充StartingRecipientAddresss参数。 有关详细信息,请参阅以下示例。

示例数据的屏幕截图。

对于上述示例数据,可以使用以下查询拉取前 10 条记录:

Get-MessageTraceV2 -StartDate '2024-11-01T00:00:00Z' -EndDate '2024-11-01T00:10:00Z' -ResultSize 10

在下面的 V2 示例中,我们使用 StartingRecipientAddress 上一个结果中的最后一个收件人 (r_1_010@contoso) 。 若要拉取下一个后续记录,请使用以下查询。

Get-MessageTraceV2 -StartDate '2024-11-01T00:00:00Z' -EndDate '2024-11-01T00:10:00Z' -ResultSize 10 -StartingRecipientAddress r_1_010@contoso.com

最佳做法

若要提高查询性能,请指定尽可能多的精确筛选器。 我们强烈建议管理员尽可能缩小 和 EndDate 之间的StartDate差距。 当发送方已知时,还建议设置更多参数,例如 SenderAddress。 在适用于 PowerShell 查询时使用 MessageTraceId 。 查询发送给超过 1,000 个收件人的邮件的数据时,这是必需的。 EAC 现在也支持此作。

MessageTraceId 调查特定邮件或将邮件发送给许多收件人(例如,超过 1,000) )时,设置邮件跟踪日志 (中的 (也称为 NetworkMsgId) 。 这是获取完整结果所必需的。 与 StartingRecipientAddress一起使用时,可以检索多个轮次的完整数据集。 有关 的详细信息 StartingRecipientAddress,请参阅常见问题解答部分。

常见问题解答

如何判断是否显示部分结果?

对于 EAC 用户,向下滚动以获取更多结果,直到数据完成。 用户无需执行任何其他作,V2 会在用户向下滚动以获取其他结果时自动加载它。 对于Exchange Online PowerShell cmdlet 用户,我们正在努力在输出中为下一个查询提供一个提示,如果数据是部分 (预期在未来几周内) 。 目前,用户可以利用以下示例脚本持续收集结果。

示例脚本:

$mt = Get-MessageTraceV2 -<filters>
$nextRound = Get-MessageTraceV2 -<filters> -EndDate $mt[-1].Received.ToString("O")

如何在 V2 中实现 V1 中的分页?

V2 中已弃用分页,以确保所有用户公平使用资源和查询性能。 相反,你可以逐个获取结果。 结果先按 Received 降序排序,然后按 RecipientAddress 升序 (不区分大小写的) 排序。 若要获取下一轮结果,请将 EndDate 参数更新为 Received 当前轮次中最后一个数据的值。 请参阅上一部分中的示例脚本。

何时以及如何使用 参数: StartingRecipientAddress

参数 StartingRecipientAddress 用于获取下一轮数据。 StartingRecipientAddress 与 一 Received起,可以逐轮获取结果以获取完整结果。 在下一轮中,将输出与当前回合中最后一个结果相同的 Received 数据,但在 RecipientAddress 字母顺序上大于 StartingRecipientAddress (不区分大小写的) ,或早于当前轮次的最后一个结果。

示例脚本:

$mt = Get-MessageTraceV2 -<filters>
$nextRound = Get-MessageTraceV2 -<filters> -EndDate $mt[-1].Received.ToString("O") -StartingRecipientAddress $mt[-1].RecipientAddress