当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用 PowerShell 从多个 Exchange 邮箱(批量)删除邮件项目 |第 4 部分#5

作者:精品下载站 日期:2024-12-14 09:07:13 浏览:13 分类:玩电脑

使用 PowerShell 从多个 Exchange 邮箱(批量)删除邮件项目 |第 4 部分#5


当前文章介绍了使用 Search-Mailbox cmdlet 删除邮件项目的主题。在本文中,我们回顾了使用 Search-Mailbox cmdlet 从多个 Exchange 邮箱删除邮件项目(批量删除)的一些不同方案。

连接到 Exchange Online PowerShell

为了能够运行本文中指定的 PowerShell 命令,您需要连接到 Exchange Online PowerShell。

以管理员身份启动 Windows PowerShell 并运行 cmdlet Connect-ExchangeOnline

Connect-ExchangeOnline

在运行我们在本文中介绍的 PowerShell 命令之前,我们必须强烈强调,您应该小心使用 Search-Mailbox PowerShell cmdlet,因为这些 cmdlet 会执行邮件项目的硬删除。

您应该有充分的理由使用此选项,我们建议您熟悉 PowerShell 语法并了解您使用的确切搜索查询。例如,已删除的邮件会发生什么情况、哪些 Exchange 邮箱会受到影响等等。

在下一篇文章中 - 使用 PowerShell 从单个 Exchange 邮箱中删除邮件项目 |第 5#5 部分,我们回顾了使用 Search-Mailbox cmdlet 从单个 Exchange 邮箱删除邮件项目的各种场景。

我们需要使用 Search-Mailbox cmdlet 删除邮件项目的场景

Exchange 管理员需要注册 Search-Mailbox cmdlet 以从单个 Exchange 邮箱或多个 Exchange 邮箱(批量删除)中进行“邮件项目删除”的场景示例如下:

1.病毒攻击

病毒攻击您的组织收件人的情况。您需要为几个 Exchange 收件人发送病毒,但您不知道该收件人是谁。

在这种情况下,我们希望使用 Search-Mailbox cmdlet 在所有 Exchange 邮箱中执行搜索,查找病毒文件名,找到该邮件项目后,从 Exchange 邮箱中删除该邮件项目。用户邮箱。

2.错误发送给多个收件人的敏感电子邮件。

Exchange 收件人错误地将“敏感电子邮件”发送给不应阅读特定邮件项目的收件人的情况。

同样,在这种情况下,我们希望使用 Search-Mailbox cmdlet 在所有 Exchange 邮箱中执行搜索并“删除”(删除)此邮件项目。

Search-Mailbox cmdlet 与“邮件项目删除”相关的“逻辑”

鉴于我们决定必须使用 Search-Mailbox cmdlet 来删除邮件项目,我们可以选择两种主要方案:

选项 1 - 从源邮箱中删除邮件项目,而不保存已删除邮件项目的副本。

在这种情况下,我们希望从源邮箱删除特定邮件项目(回答我们的过滤器范围搜索查询的邮件项目)而不保存这些删除的任何副本邮件物品。

在本例中,我们使用 PowerShell 命令语法而不提供有关
目标邮箱 + 目标文件夹的信息。

PowerShell 命令语法的示例如下:

Search-Mailbox "Source Mailbox" -DeleteContent -Force

选项 2 - 从源邮箱中删除邮件项目 + 保存已删除邮件项目的副本。

在这种情况下,我们希望从源邮箱删除特定邮件项目(回答我们的过滤器范围搜索查询的邮件项目),但将已删除邮件项目的副本保存在目标邮箱(在目标文件夹中)

在本例中,我们使用 PowerShell 命令语法 + 提供有关
目标邮箱 + 目标文件夹的信息。

PowerShell 命令语法的示例如下:

Search-Mailbox "Source Mailbox" -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -DeleteContent -Force

选项 3 - 执行搜索 - 找到我们要从源邮箱中删除的邮件项目 + 生成报告(日志)。

在这种情况下,我们希望生成一个报告(日志文件),其中包含有关我们“要删除但除了生成报告之外不执行任何”操作”的邮件项目的详细信息。

要仅生成报告而不执行任何操作,我们使用 PowerShell 参数 -LogOnly

我的建议是在开始实际删除之前考虑使用此选项。换句话说,安全总比后悔好!

当我们查看报告(日志)中出现的信息并“批准”删除特定邮件项目后,返回并使用上述选项之一(删除邮件项目而不保存副本或保存目标邮箱中已删除邮件的副本)。

在本例中,我们使用 PowerShell 命令语法 + 提供有关目标邮箱的信息 + 将“存储”报告文件的目标文件夹

PowerShell 命令语法的示例如下:

Search-Mailbox "Source Mailbox" -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -LogOnly

[玩转系统] 使用 PowerShell 从多个 Exchange 邮箱(批量)删除邮件项目 |第 4 部分#5

场景描述

在下面的例子中,我更倾向于安全起见。因此,所有 PowerShell 命令示例都将基于我们在“目标邮箱”中保存已删除邮件项目的副本的场景。如果您不想使用此选项,可以从 PowerShell 命令语法中删除有关“目标邮箱”+“目标文件夹”的部分。

目标

我们寻求实现的目标是:

  1. 在多个 Exchange 邮箱中执行搜索(批量邮箱搜索)。搜索是通过定义特定的搜索查询(搜索条件)来实现的,这将帮助我们找到回答搜索查询的特定邮件项目。
  2. 我们希望删除搜索结果中出现的所有邮件项目。
  3. 搜索结果(已删除的邮件项目)将被复制到目标邮箱,并保存在专用文件夹(目标文件夹)中。
  4. 此外,我们想要创建一个详细的报告(日志),关于出现在搜索结果中且已删除的每个邮件项目(日志\报告文件将保存在目标文件夹)。

源邮箱+目标邮箱(和目标文件夹)

  • 源邮箱(我们执行搜索的邮箱)都是所有 Exchange 邮箱。
  • 我们用于存储搜索结果(邮件项)的目标邮箱Adele的
  • 目标文件夹名称将为 - 搜索结果多个邮箱搜索 - 已删除邮件项目的备份。

[玩转系统] 使用 PowerShell 从多个 Exchange 邮箱(批量)删除邮件项目 |第 4 部分#5

邮箱搜索范围

默认情况下,搜索邮箱 cmdlet 在包含以下“邮箱空间”的“源邮箱”中执行搜索:

主邮箱

  1. 搜索邮箱 cmdlet 将执行与主邮箱中的所有文件夹和子文件夹相关的搜索。
  2. 恢复邮件文件夹 - 默认情况下,Search-Mailbox cmdlet 还将搜索存储在恢复邮件文件夹(转储程序)中的邮件项目。

存档邮箱

如果源邮箱有存档邮箱,

  1. 搜索邮箱 cmdlet 将执行与存档邮箱中的所有文件夹和子文件夹相关的搜索。
  2. 恢复邮件文件夹 - 默认情况下,Search-Mailbox cmdlet 还将搜索存储在邮箱存档恢复邮件文件夹(转储程序)中的邮件项目。

清理恢复邮件文件夹(垃圾箱)。

Search-Mailbox cmdlet 能够删除存储在恢复邮件文件夹(垃圾箱)中的邮件项目。

恢复邮件文件夹(转储程序)使用两个独立的文件夹来存储以下类型的已删除邮件项目:

  • 删除 - 存储软删除邮件的文件夹。
  • Purges - 存储硬删除邮件的文件夹。

值得一提的是,如果我们使用 Search-Mailbox cmdlet 来删除存储在恢复邮件文件夹(垃圾箱)中的邮件项目; Search-Mailbox cmdlet 只能删除存储在 Deletion 文件夹(存储软删除邮件项目的文件夹)中的邮件项目,但无法删除存储在 Purges 文件夹(存储软删除邮件项目的文件夹)中的邮件项目硬删除邮件)。

使用搜索邮箱删除邮件项目 | PowerShell 参数

使用 Search-Mailbox cmdlet 删除邮件项目的“活动”选项我们需要添加以下 PowerShell 命令参数:

1.删除内容

DeleteContent 参数指示 Search-Mailbox cmdlet“搜索并销毁”与搜索查询条件匹配的邮件项目。

2.力量

该“Force”参数不是强制参数。此参数的目的是防止 Search-Mailbox cmdlet 要求我们确认要删除的每个邮件项目。

在下图中,我们可以看到附加参数,这些参数将 Search-Mailbox cmdlet 从搜索和定位信息(邮件项目)的工具“转变”为销毁(硬删除)邮件的致命武器项目!

[玩转系统] 使用 PowerShell 从多个 Exchange 邮箱(批量)删除邮件项目 |第 4 部分#5

术语“多个邮箱搜索”

在本文中,我们将回顾如何使用 Search-Mailbox cmdlet 对存储在 Exchange 邮箱“组”或“数组”中的邮件项目执行搜索和邮件删除。

Exchange 邮箱的定义是一个非常灵活的定义,因为我们可以使用多种方法来寻址被视为“组”一部分的 Exchange 邮箱。

换句话说,我们有很多选项来定义邮箱的搜索范围。

[玩转系统] 使用 PowerShell 从多个 Exchange 邮箱(批量)删除邮件项目 |第 4 部分#5

最简单的示例是 - 执行与所有现有 Exchange 邮箱相关的邮箱搜索。在这种情况下,我们将所有现有 Exchange 邮箱的“组”定义为:

Get-Mailbox -ResultSize Unlimited

定义字符或特定邮箱“组”(多个邮箱)后,我们将 Exchange 邮箱组“通过管道”传递给 Search-Mailbox PowerShell 命令。

我们可以使用许多选项来定义特定的 Exchange 邮箱“组”。

示例 1: 执行多个邮箱搜索 |所有类型的 Exchange 邮箱。

例如,要在所有现有 Exchange 邮箱中搜索邮件项目,我们可以使用以下命令语法:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery

示例 2: 执行多个邮箱搜索 |所有 Exchange 用户邮箱。

Get-Mailbox -Filter '(RecipientTypeDetails -eq "UserMailbox")' | Search-Mailbox -SearchQuery

示例 3: 执行多个邮箱搜索 |所有 Exchange 共享邮箱

Get-Mailbox -Filter '(RecipientTypeDetails -eq "SharedMailbox")' | Search-Mailbox -SearchQuery

示例 4:执行多个邮箱搜索 |所有交换室邮箱。

Get-Mailbox -Filter '(RecipientTypeDetails -eq "RoomMailBox")' | Search-Mailbox -SearchQuery

示例5:执行多个邮箱的搜索 | Exchange 邮箱 - 通讯组中的成员。

在这种情况下,我们希望通过定义“属于”(成员)特定通讯组的“Exchange 邮箱组”来执行搜索。

Get-DistributionGroupMember "Distribution Group name" | Search-Mailbox -SearchQuery

使用搜索邮箱执行搜索

搜索并删除邮件+保存邮件副本 |从恢复邮件文件夹(垃圾箱)中删除邮件项目

在此示例中,我们使用 Search-Mailbox cmdlet,不带任何“过滤器”或搜索查询过滤器。

相反,我们使用 PowerShell 参数 SearchDumpsterOnly 将搜索(和删除邮件项目)限制为仅存储在恢复邮件文件夹(转储程序)中的邮件项目。

在这种情况下,我们的目标是删除存储在恢复邮件文件夹(垃圾箱)中的所有软删除邮件项目+将从源邮箱删除的所有邮件项目保存到目标邮箱的副本。

如前所述,Search-Mailbox cmdlet 无法删除存储在 Purges 子文件夹(恢复邮件文件夹的子文件夹)中的硬删除邮件项目

搜索并删除邮件 + 保存邮件副本 |邮箱搜索范围恢复邮件文件夹(垃圾箱)

PowerShell命令语法:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchDumpsterOnly -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -DeleteContent -Force -LogLevel Full

PowerShell 命令示例:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchDumpsterOnly -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

搜索并删除邮件 + 保存邮件副本 |搜索查询过滤器 - 邮件项目的特定类型

在这种情况下,我们想要:

  • 仅查看(搜索)多个源邮箱(Exchange 邮箱)中特定类型的邮件项目(例如日历或联系人邮件项目)。
  • 删除这些邮件
  • 将已删除邮件的副本保存在目标邮箱

搜索 + 保存邮件副本 |搜索查询过滤器 - 日历项目

搜索+删除特定类型的邮件项目 - 日历 项目。

PowerShell命令语法:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery "Kind:meetings" -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -DeleteContent -Force -LogLevel Full

PowerShell 命令示例:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery "Kind:meetings" -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

搜索 + 保存邮件副本 |搜索查询 - 联系项目

搜索 + 删除特定类型的邮件项目 - 联系人 项目。

PowerShell命令语法:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery "Kind:contacts" -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -DeleteContent -Force -LogLevel Full

PowerShell 命令示例:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery "Kind:contacts" -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

注意:默认情况下,如果未指定,Search-Mailbox cmdlet 将查找所有类型的邮件类型。

使用种类搜索过滤器选项时,有效值可以是以下一项或多项:

  • 电子邮件
  • 会议
  • 任务
  • 笔记
  • 文档
  • 期刊
  • 联系方式
  • 我是

搜索并删除邮件 + 保存邮件副本 |搜索查询过滤器 - 文本字符串

在本节中,我们使用搜索查询来查找包含特定文本字符串的邮件项目。

一般注意事项 - 因为我们使用引号,所以搜索将仅获取出现我们定义的文本字符串中所有单词的结果。

例如,在我们的场景中,我们查找文本字符串:“纽约的会议。”
包含单词“纽约”或“会议”不会出现在搜索结果中。

只有包含出现在引号内的所有文本短语的邮件项目才会被视为回答搜索查询的“有效邮件项目”(其中的确切短语或关键字)项目的主题)。

搜索并删除邮件 + 保存邮件副本 |搜索查询 - 邮件主题中带有文本字符串的邮件项目

搜索 + 删除带有出现在电子邮件主题行中的特定文本字符串的邮件项目。

PowerShell命令语法:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery Subject:"Text String" -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -LogLevel Full

PowerShell 命令示例:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery Subject:"A meeting in New York" -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item’s Backup" -DeleteContent -Force -LogLevel Full

搜索并删除邮件 + 保存邮件副本 |搜索查询 - 邮件正文中带有文本字符串的邮件项目

搜索+删除带有出现在电子邮件 正文 中的特定文本字符串的邮件项目。

PowerShell命令语法:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery body:"Text String" -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -DeleteContent -Force -LogLevel Full

PowerShell 命令示例:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery Subject:"A meeting in New York" -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

搜索并删除邮件 + 保存邮件副本 |搜索查询 - 邮件正文或邮件主题中带有文本字符串的邮件项目

搜索 + 删除电子邮件中出现的具有特定文本字符串的邮件项目 主题行邮件主题

PowerShell命令语法:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery "Text String" -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -DeleteContent -Force -LogLevel Full

PowerShell 命令示例:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery "A meeting in New York" -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

我们可以用来执行包含两种类型的搜索条件的搜索的其他 PowerShell 命令语法是:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery {Subject:"A meeting in New York" OR body:"A meeting in New York"} -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

搜索并删除邮件 + 保存邮件副本 |搜索查询过滤器 - 特定日期或日期范围

有关“日期和日期格式”主题的一般信息。

我们在搜索邮箱查询中使用的日期格式有点棘手,因为日期格式受 Windows 操作系统日期格式、Exchange Online 邮箱日期格式等的影响。

情况 1:大多数情况下,您需要在搜索查询中使用的日期格式是 Windows 操作系统日期格式。

情况 2:在搜索邮箱查询中使用日期格式时,其格式需要符合 Exchange 服务器的区域设置。

如果您收到诸如“KQL 解析器抛出异常”之类的错误,请使用“月份名称”而不是“月份编号”的格式。

例如,不要使用日期格式 - 07/21/2017,而是使用以下格式 - 02/July/2017。

搜索并删除邮件 + 保存邮件副本 |搜索查询 - 在特定日期发送的电子邮件

搜索并删除在特定日期发送的邮件项目。

PowerShell命令语法:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery sent:mm/dd/yyyy -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -DeleteContent -Force -LogLevel Full

PowerShell 命令示例:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery sent:21/07/2017 -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

搜索并删除邮件 + 保存邮件副本 |搜索查询 - 在特定日期范围内发送的电子邮件

搜索并删除特定日期范围发送的邮件项目。

PowerShell命令语法:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery {sent:mm/dd/yyyy..mm/dd/yyyy} -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -DeleteContent -Force -LogLevel Full

PowerShell 命令示例:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery {sent:21/06/2017..07/21/2017} -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

搜索并删除邮件 + 保存邮件副本 |搜索查询 - 在特定日期范围内收到的电子邮件

搜索 + 删除在特定日期范围收到的邮件项目。

PowerShell命令语法:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery {Received:mm/dd/yyyy..mm/dd/yyyy} -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -DeleteContent -Force -LogLevel Full

PowerShell 命令示例:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery {Received:21/06/2017..21/07/2017} -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

搜索并删除邮件 + 保存邮件副本 |搜索查询过滤器 - 按发件人或收件人

在本节中,我们要搜索+删除从特定发件人发送或到达特定收件人的邮件项目。

搜索并删除邮件 + 保存邮件副本 |过滤范围 - 由特定发件人发送的电子邮件

搜索 + 删除从特定发件人(发件人邮件字段)发送的邮件项目。

PowerShell命令语法:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery from:"E-mail address" -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -LogLevel Full

PowerShell 命令示例:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery from:"[email protected]" -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

搜索并删除邮件 + 保存邮件副本 |过滤范围 - 发送给特定收件人的电子邮件

搜索 + 删除从特定收件人收到的邮件项目(发送到特定收件人 - 收件人邮件字段)。

PowerShell命令语法:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery to:"E-mail address" -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -DeleteContent -Force -LogLevel Full

PowerShell 命令示例:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery to:"[email protected]" -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

搜索并删除邮件 + 保存邮件副本 |搜索查询过滤器 - 电子邮件附件

在本节中,我们要搜索+删除带有附件的邮件项目。

搜索并删除邮件 + 保存邮件副本 |过滤范围 - 包含特定附件文件名的电子邮件

搜索 + 删除包含带有特定文件扩展名的附件的邮件项目。

PowerShell命令语法:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery attachment:"Attachment file name" -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -DeleteContent -Force -LogLevel Full

PowerShell 命令示例:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery attachment:"Customer.pdf" -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

搜索并删除邮件 + 保存邮件副本 |过滤范围 - 特定附件类型(后缀)

搜索 + 删除附件带有特定文件名后缀的邮件项目。

PowerShell命令语法:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery {Attachment -like "*.suffix"} -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -DeleteContent -Force -LogLevel Full

PowerShell 命令示例:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery {Attachment -like "*.PDF"}-TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

搜索并删除邮件 + 保存邮件副本 |过滤范围 - 带附件的电子邮件

搜索 + 删除带有附件的邮件项目。

PowerShell命令语法:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery {HasAttachment -eq $true} -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -DeleteContent -Force -LogLevel Full

PowerShell 命令示例:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery -SearchQuery {HasAttachment -eq $true} -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

搜索并删除邮件 + 保存邮件副本 |搜索查询过滤器 - 附加搜索查询

搜索并删除邮件 + 保存邮件副本 |过滤范围 - 电子邮件项目大小大于 X MB

搜索+删除邮件项目,其尺寸比特定尺寸“更大”(更大)。

PowerShell命令语法:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery {Size -gt <size in KB or MB>} -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -LogLevel Full

PowerShell 命令示例:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery -SearchQuery {Size -gt 5MB} -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

搜索邮箱|邮箱搜索范围|恢复邮件文件夹(垃圾箱)和存档邮箱

在下面的部分中,我想简要回顾一下“邮箱搜索范围”的主题。

如前所述,Search-Mailbox cmdlet 默认情况下将在以下所有邮箱位置执行搜索:

  1. 主邮箱
  2. 主邮箱 - 恢复邮件文件夹(垃圾箱)
  3. 存档邮箱
  4. 存档邮箱 - 恢复邮件文件夹(垃圾箱)

Search-Mailbox cmdlet 使我们能够定义特定的邮箱搜索范围或从搜索结果中排除特定的邮箱范围。

邮箱范围 恢复邮件文件夹(垃圾箱)

Search-Mailbox cmdlet 最显着的优点之一是,它为 Exchange 管理员提供了查看(搜索)恢复邮件文件夹(转储程序)的内容并“获取”邮件的功能。存储在恢复邮件文件夹中的软删除+硬删除邮件项目的副本。

默认情况下,搜索邮箱 cmdlet 将在主邮箱和恢复邮件文件夹(转储程序)中执行搜索。

例如,如果我们没有定义特定的邮箱范围过滤器,搜索任务将包括主邮箱空间+恢复邮件文件夹(垃圾箱)。

Search-Mailbox "Source Mailbox" -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -LogLevel Full

排除恢复邮件文件夹(转储程序)搜索

如果我们想要从搜索中排除恢复邮件文件夹(Dumpster),我们可以使用参数 SearchDumpster 并将开关设置为 $false, 例如 -SearchDumpster:$False

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -SearchDumpster:$false -LogLevel Full

仅搜索垃圾箱

如果我们只想在恢复邮件文件夹(Dumpster)中执行搜索,我们可以使用参数-SearchDumpsterOnly,它指定仅搜索指定邮箱的可恢复项目文件夹。

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -SearchDumpsterOnly -LogLevel Full

归档邮箱范围

默认情况下,如果特定 Exchange 邮箱有存档,则始终搜索该存档。

要从搜索中排除存档,请使用 DoNotIncludeArchive 参数。

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -DoNotIncludeArchive -LogLevel Full

编写高级/组合搜索过滤器

我想简要提及的另一部分是定义结合两个或多个“过滤器”或搜索条件的更高级或更复杂的搜索查询的主题。

要定义两个或多个过滤器,我们可以使用逻辑运算符,例如“OR”、“AND”等。

在下图中,我们可以看到一些用于定义更高级搜索查询的语法示例。

[玩转系统] 使用 PowerShell 从多个 Exchange 邮箱(批量)删除邮件项目 |第 4 部分#5

示例1

查找满足以下搜索条件的所有邮件项目:

带有附件+的邮件项目,此外,邮件主题为“Test”。

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery {HasAttachment -eq $true and subject:Test} -TargetMailbox "Target mailbox" -TargetFolder "Target Folder"

示例2

查找满足以下搜索条件的所有邮件项目:

邮件日历中的邮件项目。

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery {kind:email OR kind:meetings} -TargetMailbox "Target mailbox" -TargetFolder "Target Folder"

示例3

查找满足以下搜索条件的所有邮件项目:

主题为“Test”的邮件+从[email protected]发送+在特定日期30/07/2017发送。

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery {Subject:"Test" AND From:"[email protected]" AND Sent:"30/07/2017"} -TargetMailbox "Target mailbox" -TargetFolder "Target Folder"

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯