在 2013 Exchange Server中搜索和删除邮件

适用于:Exchange Server 2013

管理员可以使用 Search-Mailbox cmdlet 来搜索用户邮箱,然后从邮箱中删除邮件。

若要在一个步骤中搜索和删除邮件,请使用 DeleteContent 开关运行 Search-Mailbox cmdlet。 但是,在执行此操作时,无法预览搜索结果或生成搜索返回的邮件的日志,您可能意外删除不想删除的邮件。 若要在删除邮件之前预览在搜索中找到的邮件的日志,请使用 LogOnly 开关运行 Search-Mailbox cmdlet。

作为额外的安全措施,可以先使用 TargetMailboxTargetFolder 参数将邮件复制到另一个邮箱。 这样可保留已删除邮件的副本,以防需要再次访问这些邮件。

在开始之前,我需要知道什么?

  • 估计完成时间:10 分钟。 实际时间可能因邮箱大小和搜索查询而异。

  • 不能使用 Exchange 管理中心 (EAC) 执行这些过程。 必须使用命令行管理程序。

  • 您需要分配有以下两个管理角色才能在用户邮箱中搜索和删除邮件:

    • 邮箱搜索:此角色允许跨组织中的多个邮箱搜索邮件。 默认情况下不会向管理员分配此角色。 要向自己分配此角色以便搜索邮箱,请将您自己添加为"发现管理"角色组的成员。 请参阅 在 Exchange 中分配电子数据展示权限

    • 邮箱导入导出:此角色允许删除用户邮箱中的邮件。 默认情况下,不向任何角色组分配此角色。 若要从用户邮箱删除邮件,您可以将"邮箱导入导出"角色添加到"组织管理"角色组。 有关详细信息,请参阅Manage role groups中的“将角色添加到角色组”部分。

  • 如果要从中删除邮件的邮箱启用了单个项目恢复,则必须首先禁用该功能。 有关详细信息,请参阅启用或禁用邮箱的单个项目恢复

  • 如果要从中删除邮件的邮箱已置于保留状态,建议您在删除保留和删除邮箱内容之前,与记录管理或法律部门进行核实。 在获得审批之后,按照主题清理"可恢复的项目"文件夹中列出的步骤执行。

  • 使用 Search-Mailbox cmdlet,最多可搜索到 10,000 个邮箱。

  • 如果使用 SearchQuery 参数) 包含搜索查询 (, 则 Search-Mailbox cmdlet 将在搜索结果中返回最多 10,000 个项目。 因此,如果添加一个搜索查询,则可能需要多次运行 Search-Mailbox 命令才能将 10,000 多个项目删除。

  • 运行 Search-Mailbox cmdlet 时,也会搜索用户的存档邮箱。 同样,将 Search-Mailbox cmdlet 与 DeleteContent 开关配合使用时,将删除主存档邮箱中的项目。 若要防止出现这种情况,可以包含 DoNotIncludeArchive 开关。

搜索邮件并记录搜索结果

本示例在 April Stewart 的邮箱中搜索 Subject 字段中包含“Your bank statement”短语的邮件,并将搜索结果记录在管理员邮箱的 SearchAndDeleteLog 文件夹中。 不会将邮件复制到目标邮箱或从目标邮箱删除。

Search-Mailbox -Identity "April Stewart" -SearchQuery 'Subject:"Your bank statement"' -TargetMailbox administrator -TargetFolder "SearchAndDeleteLog" -LogOnly -LogLevel Full

此示例将搜索组织的所有邮箱,查找文件名中包含"特洛伊木马"一词的任何类型的附加文件的邮件,并向管理员的邮箱发送一封日志邮件。

Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery attachment:trojan* -TargetMailbox administrator -TargetFolder "SearchAndDeleteLog" -LogOnly -LogLevel Full

有关详细的语法和参数信息,请参阅 Search-Mailbox

搜索并删除邮件

本示例在 April Stewart 的邮箱中搜索 Subject 字段中包含“Your bank statement”短语的邮件,然后从源邮箱中删除这些邮件,而不将搜索结果复制到另一个文件夹。 如前所述,您需要分配"邮箱导入导出"管理角色才能从用户邮箱删除邮件。

重要

Search-Mailbox cmdlet 与 DeleteContent 开关一起使用时,将从源邮箱中永久删除邮件。 在永久删除邮件之前,我们建议使用 LogOnly 开关生成在删除邮件之前在搜索中找到的邮件的日志,或者在从源邮箱中删除邮件之前将邮件复制到另一个邮箱。

Search-Mailbox -Identity "April Stewart" -SearchQuery 'Subject:"Your bank statement"' -DeleteContent

本示例在 April Stewart 的邮箱中搜索 Subject 字段中包含"Your bank statement"短语的邮件,将搜索结果复制到 BackupMailbox 邮箱中的 AprilStewart-DeletedMessages 文件夹,然后从 April 的邮箱中删除这些邮件。

Search-Mailbox -Identity "April Stewart" -SearchQuery 'Subject:"Your bank statement"' -TargetMailbox "BackupMailbox" -TargetFolder "AprilStewart-DeletedMessages" -LogLevel Full -DeleteContent

此示例将搜索组织的所有邮箱,查找主题行为"下载此文件"邮件,然后将其永久删除。

Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery 'Subject:"Download this file"' -DeleteContent

有关详细的语法和参数信息,请参阅 Search-Mailbox

使用 -LogLevel Full 参数

在前面的一些示例中, LogLevel 参数和 Full 值用于记录 有关 Search-Mailbox cmdlet 返回的结果的详细信息。 包含此参数时,将创建一封电子邮件并将其发送到 TargetMailbox 参数指定的邮箱。 日志文件 (一个名为“搜索Results.csv) ”的 CSV 格式文件附加到此电子邮件,并将位于 TargetFolder 参数指定的文件夹中。 运行 Search-Mailbox cmdlet 时,日志文件包含搜索结果中的每个邮件的行。