如何在 Exchange Online 中搜索和删除电子邮件
在您的 Exchange 环境中查找特定电子邮件的需求通常是在您的用户之一犯下错误之后发生的。但是,它可以是一个有用的功能,可以删除已发送给员工的过时的信息电子邮件或处理基于合规性的请求。
使用 Exchange Online PowerShell cmdlet,我们可以编写特定的命令来在单个邮箱或所有邮箱中搜索电子邮件,然后我们可以操作该电子邮件,例如将其删除。
在这篇文章中,我将向您展示如何使用 PowerShell 在组织中搜索和删除电子邮件。
先决条件
确保您已安装 Exchange Online PowerShell 模块并已连接到您的环境。如果您不确定如何执行此操作,请按照此处的指南操作:如何使用 PowerShell 连接到 Exchange Online。
分配正确的权限来执行任务
尽管通过全局管理员访问权限,您将能够运行合规性搜索并删除结果,但在删除之前尝试预览搜索结果时,您仍然可能会遇到一些常见错误,例如:
找不到与参数名称“预览”匹配的参数。
+ CategoryInfo : InvalidArgument: (:) [New-ComplianceSearchAction], ParameterBindingException
+ ExcellentQualifiedErrorId : NamedParameterNotFound,New-ComplianceSearchAction
+ PSComputerName : gbr01b.ps.compliance.protection.outlook.com
要解决该错误,必须为您分配电子数据展示管理员角色或电子数据展示管理员角色。这可以通过 Microsoft Purview 管理中心完成,如下所示:
1. 在左侧菜单中,选择权限。
2. 在Microsoft Purview 解决方案标题下,选择角色。
3. 突出显示eDiscovery Manager,右侧会出现一个弹出窗口。
4. 在电子数据展示管理器旁边,选择编辑 > 选择电子数据展示管理器 > 添加。
5. 从列表中选择您的帐户,然后单击完成 > 保存。
连接到安全与合规性 PowerShell
在开始运行任何搜索命令之前,必须通过 PowerShell 会话连接到 Microsoft 365 中的安全性和合规性。如果您已安装 ExchangeOnline 模块,请运行以下 cmdlet 并使用交互式提示登录。
连接-IPPS会话
如何在单个邮箱中搜索和删除电子邮件
为了进行搜索,我们将使用 New-ComplianceSearch cmdlet 首先创建搜索查询。该命令将允许我们指定搜索的详细参数,以给出准确的结果。这是一个示例搜索,我可以在其中找到邮箱中具有特定主题的所有电子邮件。
$Search=New-ComplianceSearch -Name“删除订单通知2”`
-ExchangeLocation [电子邮件受保护]`
-ContentMatchQuery'(主题:“您于 2022 年 10 月 9 日的 Microsoft 订单”)'
您可以使用更多参数来微调结果,以下是一些选项:
查找包含特定字词的内容:
-ContentMatchQuery“‘订单’和‘十月’”
查找特定日期范围内的内容:
-ContentMatchQuery'(收到:09/01/2022 00:00..09/01/2022 23:59)'
查找来自特定发件人的内容:
-ContentMatchQuery ‘来自:”[电子邮件受保护]”‘
使用逻辑运算符连接搜索参数:
-ContentMatchQuery'(来自:“[电子邮件受保护]”)AND(主题:“订单”)AND(收到:09/01/2022 00:00..09/01/2022 23:59)’
查看您的搜索状态
成功运行命令来创建合规性搜索后,您可以使用 GET 命令查看搜索的状态。
获取合规性搜索
从下图中可以看到,我们名为“Remove order notification2”的搜索处于“NotStarted”状态。
开始您的搜索
要开始搜索,我们必须运行以下命令:
开始-ComplianceSearch -Identity $Search.Identity
正如您所看到的,我们使用了变量 $Search,其中包含第一个命令的信息。搜索完成后,状态栏中将显示“已完成”。此外,要指定要与之交互的特定搜索,您可以输入搜索名称,如下所示:
Start-ComplianceSearch -Identity“删除订单通知2”
如何在多个邮箱中搜索和删除邮件
您可以应用上述登录名和脚本来搜索特定邮箱中的电子邮件以及组织中的所有邮箱。您需要做的就是在 Exchange 位置参数中指定 ALL ,如下所示:
$Search=New-ComplianceSearch -Name“删除订单通知2”`
-ExchangeLocation ALL`
-ContentMatchQuery'(主题:“您于 2022 年 10 月 9 日的 Microsoft 订单”)'
指定ALL,将确保在每个邮箱中搜索您的内容查询。
如何在 PowerShell 中预览合规性搜索结果
在运行软删除或硬删除操作(我们将在下一部分中介绍)之前,先预览要删除的数据非常重要。
您可以使用以下步骤预览搜索结果。
- 首先使用以下命令创建新的合规性搜索操作:
New-ComplianceSearchAction -SearchName“删除订单通知2”-预览
2. 您可以通过输入以下内容来验证这一点(状态将自动进入“开始”,然后一旦“完成”将准备就绪)。
获取ComplianceSearchAction
3. 状态为已完成后,运行以下命令预览结果。
Get-ComplianceSearchAction - 身份“PhishingSearch_Purge”|格式列表-属性结果
或者
(Get-ComplianceSearchAction“删除订单通知2_预览”| Select-Object -ExpandProperty 结果).Split(“;”)
从 Exchange Online 删除电子邮件
一旦您微调了内容搜索查询并对结果预览感到满意,最后运行的命令就是删除操作。
运行删除操作时有 2 个选项,即软删除和硬删除。
- 软删除 - 从用户删除的项目中删除项目,但该项目仍保留在第二阶段回收站中
- 硬删除 - 从邮箱和回收站中删除完整的项目。
要删除项目,请运行以下命令:
New-ComplianceSearchAction -SearchName“删除订单通知2” -Purge -PurgeType SoftDelete
或者
New-ComplianceSearchAction -SearchName“删除订单通知2” -Purge -PurgeType HardDelete
