逐步删除所有Office 365邮箱中的电子邮件:

这并不是秘密,邮件卫生解决方案并非100%有效。恶意消息偶尔仍然会通过而不被检测到。在这些时候,您需要知道如何在Office 365的所有邮箱中查找并删除电子邮件。

如果您是Office 365管理员,您会对上述情况非常熟悉。垃圾邮件或钓鱼攻击被视为重要的安全事件。毋庸置疑,电子邮件管理员必须迅速采取行动,以最小化对用户和基础设施的潜在威胁。

您可以在Office 365安全与合规性门户中点击一些内容来运行内容搜索,但是,要删除这些内容,您需要使用PowerShell。所以,如果最终您无论如何都会使用PowerShell,为什么不一切都在PowerShell中完成呢?

在本文中,您将学习如何使用安全与合规性PowerShell命令来搜索并删除所有Office 365邮箱中的恶意消息。

需求

由于本文本质上是一个如何,如果您打算跟随操作,那么有一些要求需要满足。

  • 您的管理员帐户必须具备足够的Office 365权限,以便搜索邮箱并删除邮件。
    搜索邮箱所需权限:该帐户必须是eDiscovery Manager角色组的成员,或被分配了Compliance Search管理角色。
    删除邮件所需权限:该帐户必须是Organization Management角色组的成员,或被分配了Search And Purge管理角色。
    预览邮件所需权限:该帐户必须是eDiscovery Manager角色组的成员,或被分配了Preview管理角色。
  • 必须使用Office 365安全与合规性中心的PowerShell连接PowerShell。请点击此链接以无多重身份验证方式连接,或点击此链接以多重身份验证方式连接

收集要删除的邮件信息。

在开始创建内容搜索以删除消息之前,您必须首先收集关于消息的所有相关信息。除非已经提供给您所有信息,否则不要开始。

尽可能了解消息的许多详细信息将有助于您决定如何制定搜索查询。例如,您需要获取的一些最基本信息包括:

  • 发件人的电子邮件地址是什么?
  • 消息主题是什么?
  • 是否有文件附件,文件名是什么?
  • 第一次报告的发生日期是什么?
  • 收件人是谁?

在大多数情况下,上述信息中的一两项应足以制定搜索查询。然后,由您决定哪些搜索参数最适用。

当您确信已经获取了关于消息的所有信息时,是时候启动PowerShell并开始创建内容搜索了。

假设要删除的垃圾/钓鱼消息具有以下属性:

  • 主题: 您必须立即更改您的银行密码
  • 发送时间: 2020年05月12日

使用New-ComplianceSearch,将以上列出的消息属性用于创建搜索查询。保持搜索结果尽可能准确的关键在于充分制定搜索条件。

New-ComplianceSearch cmdlet带有多个参数和开关。然而,要创建邮箱内容搜索,将使用以下参数。

  • Name – 这接受将分配给内容搜索对象的名称。这可以是任何名称,您无需过多考虑。
  • ExchangeLocation – 这接受将被搜索目标的Exchange位置。这可以是组或邮箱。在本文中,要使用的值是All,以确保定位搜索中的所有邮箱。
  • ContentMatchQuery – 该参数是确定搜索结果准确性的主要因素。所接受的查询格式是KQL或Keyword Query Language形式。

要创建内容搜索,请复制下面的代码并将其粘贴到PowerShell控制台中。确保根据您的情况更改参数值。在此示例中,搜索的名称是Phish1,查询结合了主题和发送属性值。

New-ComplianceSearch `
-Name Phish1 `
-ExchangeLocation All `
-ContentMatchQuery 'subject:"You must change your bank password now" AND sent:05/12/2020'

访问内容搜索中的关键字查询和搜索条件页面,了解更多关于在内容搜索中使用关键字的信息。

当您在PowerShell中运行上述代码时,应该会看到类似下面演示的输出。

Delete Email From All Mailboxes In Office 365 : Creating a new content search

此时,内容搜索作业已创建,但根据状态(NotStarted),搜索尚未触发。

要启动内容搜索,请使用Start-ComplianceSearch cmdlet。您需要向cmdlet提供参数-Identity,并指定您创建的内容搜索作业的名称。

要启动Office 365电子邮件内容搜索,请复制以下代码并粘贴到您的PowerShell控制台中。

Start-ComplianceSearch -Identity Phish1

运行上述代码后,屏幕上不会有任何输出。接下来,您需要监视搜索的状态。要监视搜索状态,请在PowerShell中使用以下代码。

Get-ComplianceSearch -Identity Phish1

当您运行上述代码时,应该会看到类似下面的输出。在下面的输出中,显示内容搜索作业状态为Completed

Getting the content search status

您会注意到上面的输出中返回的属性有限,并没有显示找到的匹配项数量。您可以运行下面的命令来获取内容搜索结果的所有属性。

Get-ComplianceSearch -Identity Phish1 | Format-List *

运行上述命令后,您会看到类似的结果,如下所示。在这种情况下,有16个符合搜索条件的项。

Content search results

预览搜索结果(可选)

预览搜索结果是一个可选步骤,但如果你更倾向于谨慎一些,我们建议你这样做。你不想从所有邮箱中删除错误的消息,对吧?

到目前为止,您已经使用了New-ComplianceSearchStart-ComplianceSearchGet-ComplianceSearch cmdlet 来创建、运行和监视内容搜索。现在,为了能够预览搜索结果,您需要使用New-ComplianceSearchAction cmdlet。

要预览搜索结果,您现在需要使用以下命令创建一个预览操作。

New-ComplianceSearchAction -SearchName Phish1 -Preview

如下所示,在输出中,已创建了名为Phish1_Preview的预览作业,并且该作业已自动启动。

Phish1_Preview

当预览创建完成后,您可以通过运行以下命令将结果预览显示在屏幕上。

(Get-ComplianceSearchAction Phish1_Preview | Select-Object -ExpandProperty Results) -split ","

一旦运行了上面的命令,您会得到一个类似于下面显示的输出。

Previewing the search results

让我们承认,如上所示的结果是丑陋的。但是,如果您愿意,您可以将结果导出为 TXT。或者,如果您想要一个格式更好的报告,您可以从安全与合规中心门户下载内容搜索报告

注意:预览操作不会显示消息的内容。它只显示与搜索条件匹配的消息的详细信息,而不显示每条消息的内部内容。

从所有 Office 365 邮箱中删除电子邮件

现在进行最后一步操作;运行 Office 365 删除电子邮件操作。假设您已经对搜索结果感到满意。现在,您可以运行消息删除过程。

要删除与搜索条件匹配的消息,您需要使用 New-ComplianceSearchAction cmdlet,使用 -Purge 开关和 -PurgeType 参数创建一个清除作业。

创建清除作业的代码如下。复制代码并粘贴到 PowerShell 中运行。

New-ComplianceSearchAction -SearchName Phish1 -Purge -PurgeType SoftDelete

请注意,-PurgeType SoftDelete 参数/值将删除消息并将其放入邮箱中“可恢复项目”文件夹中的“删除”文件夹中。这意味着消息仍然可以在必要时恢复。

运行上述代码后,清除作业将被创建并启动。

Create the message purge job

如下图所示,清除作业的名称为Phish1_Purge,并自动启动。

Purge job is created and started

当清除完成时,您可以使用以下命令查看最终结果。

Get-ComplianceSearchAction -Identity Phish1_Purge | Format-List

您将看到类似的输出,如下所示。在此示例中,删除了 16 条消息,没有失败的消息。

Message purge job is complete

就是这样。您已成功从所有 Office 365 邮箱中删除了垃圾邮件/钓鱼邮件。

结论

在本文中,您学习了如何使用安全与合规性 PowerShell cmdlets 在 Office 365 中搜索并删除所有邮箱中的邮件。

您学会了如何整理要删除的邮件的详细信息以优化搜索条件。优化搜索条件有助于确保结果的最高准确性。

您还学会了如何创建和启动内容搜索,创建结果的预览,最终清除与搜索条件匹配的邮件。也许所有这些中最好的一点是,您从未必须离开 PowerShell 来完成这些任务!

通过本文学到的知识,也许您可以自动化整个搜索和删除工作流程,以便即使您的一线代理也能轻松执行。也许到那时,您将不再因为急需的睡眠而被唤醒。

进一步阅读

Source:
https://adamtheautomator.com/office-365-delete-email/