解决使用保留策略时的电子邮件存档和删除问题

本文探讨了阻止邮件记录管理(MRM)在 Exchange Online 中正确删除或存档电子邮件的一些常见问题。 它还提供确定根本原因并解决问题的步骤。

注意

  • 这些故障排除步骤也适用于本地托管主邮箱且存档邮箱位于 Exchange Online 中的 Exchange 混合部署。 在此类部署中,使用本地 Exchange 命令行管理程序执行这些步骤。
  • 在 Exchange Online 中,托管文件夹助理(MFA)设置为每七天至少处理一次邮箱。 尽管 MFA 通常每天处理邮箱,但此过程最多可能需要 7 天才能完成。 你可以通过运行 Start-ManagedFolderAssistant <mailbox ID> cmdlet 来强制运行进程,而不是等待进程运行。
  • MRM 不会处理小于 10 MB 的邮箱。
  • 如果帐户已禁用并且邮箱类型是常规的,则 MRM 不会处理邮箱。 因此,应用的任何后续保留都不会显示在保留跟踪邮箱诊断日志中。

常见原因

MRM 可能无法按预期处理邮箱的原因有多种。 例如:

  • 邮箱处于保留状态。 也就是说, 邮箱的 RetentionHoldEnabled 属性设置为 True。 例如,邮箱是使用 PST 导入服务迁移的。
  • 邮箱的 ElcProcessingDisabled 属性设置为 True。 此设置会阻止 MFA 处理邮箱。
  • 邮箱已应用保留标记,但该标记当前已禁用。 因此,永远不会存档或删除邮箱中的邮件。
  • 要处理的邮箱很大,包含许多项目。 这可能会导致 MFA 以较慢的速度存档或删除内容。
  • 应用于邮箱的保留策略仅包括个人标记。 如果用户未手动应用这些标记,MRM 可能无法处理邮箱。

故障排除

检查邮箱的 RetentionHoldEnabled 属性

使用 Get-Mailbox cmdlet 检索邮箱的 RetentionHoldEnabled 属性。 如果该属性设置为 True,则将其设置为 False

检查邮箱的 ElcProcessingDisabled 属性

使用 Get-Mailbox cmdlet 检索邮箱的 ElcProcessingDisabled 属性。 如果该属性设置为 True,则将其设置为 False。 有关此属性的详细信息,请参阅 ElcProcessingDisabled 和 RetentionHoldEnabled 之间的差异。

查看应用于邮箱的保留策略和标记

使用 Get-RetentionPolicyTagGet-RetentionPolicyGet-Mailbox cmdlet 检查分配给受影响邮箱的保留策略和标记。

以下是一些示例:

  • 若要检索 Exchange Online 租户上的所有保留策略,请运行以下 cmdlet:

    Get-RetentionPolicy
    
  • 若要检查将哪些策略标记添加到分配给邮箱的 MRM 策略,请运行以下 cmdlet:

    Get-RetentionPolicy -Identity <Name of the retention policy assigned to the mailbox> | select -ExpandProperty RetentionPolicyTagLinks
    
  • 若要检索 邮箱的 RetentionHoldEnabled 属性和分配的保留策略,请运行以下 cmdlet:

    Get-Mailbox <MailboxID> | fl *Retention*
    
  • 若要检查用户选择加入哪些个人保留标记以及分配的保留策略中包含的标记,请运行以下 cmdlet:

    Get-RetentionPolicyTag -Mailbox <MailboxID> -OptionalInMailbox
    
  • 若要查看特定保留策略标记的详细信息,请运行以下 cmdlet:

    Get-RetentionPolicyTag <Name of the tag> | fl
    

请注意禁用的保留标记,或者将操作设置为永不移动到存档或删除的保留标记。 分配给标记的持续时间是确定其优先级的关键因素。 因此,检查持续时间最长的标记,例如 从不移动到存档从不删除,因为这些标记优先于应用的其他标记。

注意

应用于整个邮箱的默认存档策略标记也适用于日历、任务和备注。 不能应用个人存档标记,该 标记永远不会移动到 存档操作到这些文件夹。 异常:可以使用Outlook 网页版将标记应用于备注。 有关详细信息,请参阅 支持保留策略标记的默认文件夹。

检查邮箱上的默认存档和默认保留期

检查默认存档或默认保留策略标记是否应用于邮箱。 如果是,请确保:

  • 以前未将个人存档或保留标记应用于从未移动到存档或从不删除操作的文件夹
  • 未将禁用或默认存档或保留标记应用于整个邮箱。
  • 默认存档标记(或已应用的任何其他策略标记)存在于PR_ROAMING_XMLSTREAM属性中包含的保留策略标记列表中。 如果缺少任何标记,请删除 IPM。包含PR_ROAMING_XMLSTREAM属性的 Configuration.MRM 消息,并将 Start-ManagedFolderAssistant cmdlet 与 -FullCrawl 受影响邮箱的开关一起使用。 执行此操作会重新生成 IPM。Configuration.MRM 隐藏消息并更新PR_ROAMING_XMLSTREAM以具有新的策略标记。

可以通过执行以下步骤,使用 MFCMAPI 检查 PR_ROAMING_XMLSTREAM 属性:

  1. 在 Outlook 中设置受影响的邮箱。
  2. 下载 MFCMAPI。 如果使用 64 位版本的 Outlook,请下载 64 位内部版本。 否则,请下载 32 位内部版本。
  3. 打开 MFCMAPI,选择“工具>选项,然后选择MAPI_NO_CACHEMDB_ONLINE。
  4. 选择“会话>登录,选择包含受影响邮箱的配置文件,然后选择“确定”。
  5. 双击受影响的邮箱,展开信息存储的根容器>顶部。
  6. 信息存储 顶部(如果用户邮箱设置为英语以外的语言),右键单击 “收件箱”,然后选择“ 打开关联的内容”表
  7. “消息类 ”列对顶部窗格进行排序,然后选择 IPM。Configuration.MRM
  8. 在底部窗格中,按“ 名称 ”列排序,然后找到 PR_ROAMING_XMLSTREAM 属性。
  9. 双击PR_ROAMING_XMLSTREAM,复制“文本”部分中的 XML,将其粘贴到记事本中,然后将内容保存为.xml文件。
  10. 在 Web 浏览器中打开.xml文件,查看应用于邮箱的实际保留策略标记。

检查应用于文件夹或单个项的个人标记

还可以使用 MFCMAPI 检查个人存档或保留标记是否已正确应用于文件夹。 为此,请使用上述类似步骤,选择受影响的文件夹,并检查其存档标记或保留标记的属性。 也可以针对单个电子邮件执行此操作。

如果处理应用于整个邮箱的默认存档策略,则不会看到任何存档策略属性,例如:

  • PR_ARCHIVE_TAG
  • PR_ARCHIVE_PERIOD
  • PR_ARCHIVE_DATE
  • PR_POLICY_TAG
  • PR_RETENTION_DATE

仅当应用个人存档标记、默认文件夹保留标记或个人保留标记时,这些属性才可见。

收集主邮箱和存档邮箱文件夹统计信息

若要收集有关应用的最旧项和策略的信息,请运行以下命令:

  • 对于主邮箱:

    Get-MailboxFolderStatistics -Identity <primary mailbox ID> -IncludeOldestAndNewestItems | Export-CSV -NoTypeInformation -Path .\primaryfolderstats.csv
    
  • 对于存档邮箱:

    Get-MailboxFolderStatistics -Identity  <primary mailbox ID> -Archive -IncludeOldestAndNewestItems | Export-CSV -NoTypeInformation -Path .\archivefolderstats.csv
    

在命令输出中,查找任何给定文件夹中最早接收日期的项目。 使用以下指南:

  • 检查位于信息存储顶部下的所有文件夹的 OldestItemReceivedDate,包括收件箱已发送邮件垃圾邮件及其用户创建的任何子文件夹。 排除 已删除邮件联系人日历 (仅限定期会议)和 任务 (仅限定期任务)。 然后,将 OldestItemReceivedDate 值与 非工作策略中指定的保留期限 值进行比较。

    注意

    • 有关已删除项目、定期日历项和任务的详细信息,请参阅 确定不同类型的项目的年龄。
    • 联系人不会由保留策略处理,因为它们没有开始日期或到期日期戳。
  • 对于“ 可恢复邮件 ”文件夹中的项目,请改为检查 OldestItemLastModifiedDate ,并将其与 受影响邮箱上设置的 RetainDeletedItemsFor 属性进行比较。

在输出中,还检查哪些策略应用于文件夹,并确定任何已禁用的个人标记、活动个人标记,甚至保留符合性策略是否覆盖预期的策略。 查看以下列:

  • DeletePolicy
  • ArchivePolicy
  • CompliancePolicy
  • RetentionFlags

这些列指示是将默认文件夹保留标记、个人保留标记还是个人存档标记应用于文件夹。 RetentionFlags 列还可以显示:

  • 是应用显式保留标记还是存档标记(显式标记指示策略是手动应用而不是继承的)
  • 该文件夹是否必须由 MFA 重新扫描

注意

应用于存档邮箱中的文件夹的策略通常继承自主邮箱中的文件夹。 但是,用户可以将不同的个人标记应用于存档邮箱中的文件夹。 有关详细信息,请参阅 将保留标记应用于存档中的文件夹。

检查 MRM 诊断日志

若要收集 MRM 诊断日志,请运行以下 PowerShell 命令:

Export-MailboxDiagnosticLogs <mailboxID> -ComponentName MRM

查看日志以确定 MFA 处理邮箱时是否发生任何错误。 检查最后一个错误的日期以确定其与当前问题的相关性。

注意

如果日志包含“资源不正常”错误消息,则表示邮箱处理受到限制。 由于邮箱大小及其包含的项目数,MRM 正在非常缓慢地处理邮箱。 遗憾的是,使用大型邮箱时,无法避免限制。

如果未看到任何日志,并且收到一条错误消息,指出“未找到日志”,这意味着 MRM 处理邮箱时没有任何错误。

还应检查以下附加属性,这些属性可以指示 MFA 是否处理了邮箱的内容:

  • ElcLastRunUpdatedItemCount:MFA 在其上次运行时标记或取消标记的单个项数
  • ElcLastRunTaggedWithArchiveItemCount:MFA 在其上次运行时使用存档标记更新的项目数
  • ElcLastRunTaggedWithExpiryItemCount:MFA 在其上次运行时更新的项数(delete) 标记
  • ElcLastRunDeletedFromRootItemCount:已删除邮件文件夹中已过期且自动移动到“可恢复的项目”文件夹的项目
  • ElcLastRunDeletedFromDumpsterItemCount:MFA 在上次运行时从 “可恢复的项目 ”文件夹中删除的项目数
  • ElcLastRunArchivedFromRootItemCount:从 主邮箱的收件箱信息存储 顶部移动到存档邮箱 的收件箱信息存储 顶部的项目数
  • ElcLastRunArchivedFromDumpsterItemCount:从主邮箱的“可恢复邮件”文件夹移动到存档邮箱的“可恢复邮件”文件夹的项目数
  • ElcLastSuccessTimestamp:MFA 上次处理邮箱时没有任何错误(在 MRM 限制的情况下,这些错误可能是暂时性的。这意味着,项目将继续移动或删除,但速度比平时慢。

若要检索这些属性,请运行以下 PowerShell 命令。 这些命令分析 XML 并返回以“Elc”开头的电子邮件生命周期相关属性。

$logProps = Export-MailboxDiagnosticLogs <mailboxID> -ExtendedProperties
$xmlprops = [xml]($logProps.MailboxLog)
$xmlprops.Properties.MailboxTable.Property | ? {$_.Name -like "ELC*"}

如果仍无法解决问题,请联系Microsoft 支持部门

最佳做法

建议在将帐户置于诉讼保留状态后立即为其启用存档邮箱。 如果用户拥有大量电子邮件流量,则尤其如此。 这样做有助于防止 “可恢复邮件 ”文件夹已满,并允许用户继续从其主邮箱中删除项目。 此外,建议启用 自动扩展存档,具体取决于用户的 Microsoft 365 许可证

请注意, 主邮箱的“可恢复邮件 ”文件夹不应达到最大配额,因为它还可以阻止 MRM 将项目移动到存档中。 有关邮箱文件夹限制和邮箱存储限制的详细信息,请参阅 Exchange Online 限制