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

[玩转系统] 使用 PowerShell 从恢复邮件文件夹(垃圾箱)恢复邮件项目 |第 3 部分#5

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

使用 PowerShell 从恢复邮件文件夹(垃圾箱)恢复邮件项目 |第 3 部分#5


在本文中,我们将回顾如何使用 PowerShell cmdlet Search-Mailbox 恢复存储在恢复邮件文件夹(也称为转储程序)中的邮件项目。恢复邮件文件夹被视为“系统文件夹”,用户(邮箱所有者)不可见。

恢复邮件文件夹

恢复邮件文件夹的目的是充当软删除邮件项目和硬删除邮件项目的“容器”。

使用 搜索邮箱 PowerShell cmdlet 使 Exchange 管理员能够“查看”恢复邮件文件夹的内容 + 将所有恢复邮件文件夹内容复制到目标邮箱,或者仅复制存储在目标邮箱中的特定项目恢复邮件文件夹。

假设您需要有关“恢复邮件文件夹”的更多信息,请阅读文章在 Exchange Online 环境中恢复已删除的邮件项目 |单品回收| 2#7。

参数“SearchDumpsterOnly”

默认情况下,Search-Mailbox PowerShell cmdlet 将在所有邮箱文件夹(收件箱等)中执行搜索,包括恢复邮件文件夹(转储程序)。

在我们想要将搜索范围限制为仅恢复邮件文件夹(Dumpster)的情况下,我们可以使用以下 cmdlet 参数-SearchDumpsterOnly

使用此参数适用于我们需要帮助用户恢复已删除并存储在恢复邮件文件夹(Dumpster)中的邮件项目的场景。

场景 1:电子邮件消失。

用户报告“电子邮件消失”,我们需要检查这些邮件是否已删除(如上所述,用户无法访问“恢复邮件文件夹存储”中存储硬删除邮件的特定文件夹)。

场景 2:恢复(恢复)就地保留或诉讼保留保存的邮件项目。

如果我们使用“就地保留”或“诉讼保留”选项,则用户删除的邮件项目将保存在恢复邮件文件夹(垃圾箱)中。

只有 Exchange 管理员可以访问此特殊文件夹,并且 Exchange 管理员可以用来从恢复邮件文件夹(转储程序)“获取”数据的方法之一是使用 Search-Mailbox PowerShell cmdlet。

恢复邮件文件夹(垃圾箱)和“终身”删除的邮件项目

我想提一下的另一个细节是,默认情况下,恢复邮件文件夹(垃圾箱)会将已删除的邮件项目存储 14 天。在此期限结束时,超过 14 天的软删除和硬删除邮件项目将被永久删除,并且没有任何选项可以恢复该邮件项目!

换句话说,Search-Mailbox PowerShell cmdlet 可以用作查看和导出恢复邮件文件夹(垃圾箱)内容的实用程序,但无法帮助我们恢复旧邮件项目。

注意:此“14 天规则”的例外情况是具有诉讼保留或就地保留的 Exchange 邮箱。

场景描述

目标

我们寻求实现的目标是:

  1. 查看+复制恢复邮件文件夹(转储程序)中特定 Exchange 邮箱中存储的邮件项目。
  2. 搜索是通过定义特定的搜索查询(搜索条件)来实现的,这将帮助我们找到回答搜索查询的特定邮件项目。
  3. 搜索结果将被复制到目标邮箱并保存在专用文件夹(目标文件夹)中。
  4. 此外,我们想要创建一个详细的报告(日志),关于出现在搜索结果中的每个邮件项目(日志\报告文件将保存在目标文件夹中) >)

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

  • 源邮箱(我们执行搜索的邮箱)是Bob的邮箱
  • 我们用于存储搜索结果(邮件项)的目标邮箱Adele的
  • 目标文件夹名称将为 - 搜索结果 - Bob -已恢复的邮件项目。

[玩转系统] 使用 PowerShell 从恢复邮件文件夹(垃圾箱)恢复邮件项目 |第 3 部分#5

邮箱搜索范围

在当前场景中,我们限制 Search-Mailbox cmdlet 仅在恢复邮件文件夹(垃圾箱)中的“源邮箱”中执行搜索。

主邮箱

  1. Search-Mailbox cmdlet 将仅搜索存储在恢复邮件文件夹(垃圾箱)中的邮件项目。

存档邮箱

如果源邮箱有存档邮箱,

  1. Search-Mailbox cmdlet 将仅搜索存储在存档邮箱恢复邮件文件夹(转储程序)中的邮件项目。

搜索结果的结果示例

在下面的屏幕截图中,我们可以看到一个场景示例,我们使用 Search-Mailbox cmdlet 对 Bob 的邮箱 - 恢复邮件文件夹执行搜索,并将搜索结果复制到 Adele 的邮箱。

Search-Mailbox cmdlet 创建一个新文件夹(目标文件夹)并将所有搜索结果(复制邮件项目)存储在此文件夹(目标文件夹)中。

在我们的场景中,Bob 邮箱有一个存档邮箱 + Bob 邮箱使用就地保留。

搜索结果文件夹层次结构包括两个独立的“空格”:

  1. 存档邮箱(截图中的A)
  2. 主邮箱(屏幕截图中的 B)

为了更好地理解我们得到的结果,让我们回顾一下主邮箱(屏幕截图中的 B)

在我们的例子中,我们执行的搜索“忽略”邮箱的内容,并且仅与恢复邮件文件夹(垃圾箱)相关。

在主邮箱存储下,我们可以看到可恢复项目存储。

可恢复项目存储区包含以下子文件夹:

  1. 删除:这是存储软删除邮件的文件夹
  2. 清除:这是存储硬删除邮件的文件夹
  3. DiscoveryHolds:这是存储由就地策略保存的邮件项目的文件夹。

[玩转系统] 使用 PowerShell 从恢复邮件文件夹(垃圾箱)恢复邮件项目 |第 3 部分#5

连接到 Exchange Online PowerShell

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

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

Connect-ExchangeOnline

使用搜索邮箱执行搜索

在以下部分中,我们将演示各种类型的场景,其中使用 Search-Mailbox cmdlet + 参数 SearchDumpsterOnly 从恢复邮件中“获取”邮件项目文件夹(垃圾箱)。

从恢复文件夹(垃圾箱)搜索并复制邮件项目 |所有邮件

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

在这种情况下,我们的目标是将恢复邮件文件夹(垃圾箱)中的源邮箱中存在的所有邮件项目复制到目标邮箱嗯>。

搜索 + 保存副本 所有邮件 |搜索查询 - 无过滤器(无搜索查询)

PowerShell命令语法:

Search-Mailbox "Source Mailbox" -SearchDumpsterOnly -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -LogLevel Full

PowerShell 命令示例:

Search-Mailbox "Bob" -SearchDumpsterOnly -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -LogLevel Full

从恢复文件夹(垃圾箱)搜索并复制邮件项目 |搜索查询过滤器 - 邮件项目的特定类型

在这种情况下,我们希望从存储在恢复邮件文件夹(垃圾箱)中的源邮箱中查找(搜索)并仅复制特定类型的邮件项目。

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

搜索存储在恢复邮件文件夹(垃圾箱)中的邮件项目,查找特定类型的邮件项目 - 日历 项目。

PowerShell命令语法:

Search-Mailbox "Source Mailbox" -SearchDumpsterOnly -SearchQuery "Kind:meetings" -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -LogLevel Full

PowerShell 命令示例:

Search-Mailbox "Bob" -SearchDumpsterOnly -SearchQuery "Kind:meetings" -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -LogLevel Full

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

搜索存储在恢复邮件文件夹(垃圾箱)中的邮件项目,查找特定类型的邮件项目 - 联系人 项目。

PowerShell命令语法:

Search-Mailbox "Source Mailbox" -SearchDumpsterOnly -SearchQuery "Kind:contacts" -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -LogLevel Full

PowerShell 命令示例:

Search-Mailbox "Bob" -SearchDumpsterOnly -SearchQuery "Kind:contacts" -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -LogLevel Full

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

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

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

从恢复文件夹(垃圾箱)搜索并复制邮件项目 |搜索查询过滤器 - 文本字符串

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

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

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

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

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

在以下示例中,我们查找存储在恢复邮件文件夹(垃圾箱)中的邮件项目,其中包含出现在电子邮件主题行中的特定文本字符串。

PowerShell命令语法:

Search-Mailbox "Source Mailbox" -SearchDumpsterOnly -SearchQuery Subject:"Text String" -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -LogLevel Full

PowerShell 命令示例:

Search-Mailbox "Bob" -SearchDumpsterOnly -SearchQuery Subject:"A meeting in New York" -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -LogLevel Full

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

搜索存储在恢复邮件文件夹(垃圾箱)中的邮件项目,其中包括出现在电子邮件正文中的特定文本字符串。

PowerShell命令语法:

Search-Mailbox "Source Mailbox" -SearchDumpsterOnly -SearchQuery body:"Text String" -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -LogLevel Full

PowerShell 命令示例:

Search-Mailbox "Bob" -SearchDumpsterOnly -SearchQuery body:"A meeting in New York" -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -LogLevel Full

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

搜索存储在恢复邮件文件夹(垃圾箱)中的邮件项目,其中包括出现在电子邮件 正文邮件主题

PowerShell命令语法:

Search-Mailbox "Source Mailbox" -SearchDumpsterOnly -SearchQuery "Text String" -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -LogLevel Full

PowerShell 命令示例:

Search-Mailbox "Bob" -SearchDumpsterOnly -SearchQuery "A meeting in New York" -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -LogLevel Full

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

Search-Mailbox "Bob" -SearchDumpsterOnly -SearchQuery {Subject:"A meeting in New York" OR body:"A meeting in New York"} -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -LogLevel Full

从恢复文件夹(垃圾箱)搜索并复制邮件项目 |搜索查询过滤器 - 特定日期或日期范围

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

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

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

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

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

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

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

搜索存储在恢复邮件文件夹(垃圾箱)中、在特定日期发送的邮件项目。

PowerShell 命令语法

Search-Mailbox "Source Mailbox" -SearchDumpsterOnly -SearchQuery sent:mm/dd/yyyy -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -LogLevel Full

PowerShell 命令示例:

Search-Mailbox "Bob" -SearchDumpsterOnly -SearchQuery sent:21/07/2017 -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -LogLevel Full

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

搜索存储在恢复邮件文件夹(垃圾箱)中、在特定日期范围发送的邮件项目。

PowerShell命令语法:

Search-Mailbox "Source Mailbox" -SearchDumpsterOnly -SearchQuery {sent:mm/dd/yyyy..mm/dd/yyyy} -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -LogLevel Full

PowerShell 命令示例:

Search-Mailbox "Bob" -SearchDumpsterOnly -SearchQuery {sent:21/06/2017..07/21/2017} -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -LogLevel Full

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

搜索存储在恢复邮件文件夹(垃圾箱)中、在特定日期收到的邮件项目范围。

PowerShell命令语法:

Search-Mailbox "Source Mailbox" -SearchDumpsterOnly -SearchQuery {Received:mm/dd/yyyy..mm/dd/yyyy} -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -LogLevel Full

PowerShell 命令示例:

Search-Mailbox "Bob" -SearchDumpsterOnly -SearchQuery {Received:21/06/2017..21/07/2017} -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -LogLevel Full

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

搜索存储在恢复邮件文件夹(垃圾箱)中的已发送已接收 特定日期范围

PowerShell命令语法:

Search-Mailbox "Source Mailbox" -SearchDumpsterOnly -SearchQuery {sent:mm/dd/yyyy OR Received: mm/dd/yyyy} -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -LogLevel Full

PowerShell 命令示例:

Search-Mailbox "Bob" -SearchDumpsterOnly -SearchQuery {sent:30/07/2017 OR Received:30/07/2017} -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -LogLevel Full

从恢复文件夹(垃圾箱)搜索并复制邮件项目 |搜索查询过滤器 - 发件人或收件人

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

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

搜索存储在恢复邮件文件夹(垃圾箱)中的邮件项目,该邮件项目是从特定 发送发件人(发件人邮件字段)。

PowerShell命令语法:

Search-Mailbox "Source Mailbox" -SearchDumpsterOnly -SearchQuery from:"E-mail address" -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -LogLevel Full

PowerShell 命令示例:

Search-Mailbox "Bob" -SearchDumpsterOnly -SearchQuery from:"[email protected]" -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -LogLevel Full

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

搜索存储在恢复邮件文件夹(垃圾箱)中、由特定收件人接收的邮件项目(发送给特定收件人 - 收件人邮件字段)。

PowerShell命令语法:

Search-Mailbox "Source Mailbox" -SearchDumpsterOnly -SearchQuery to:"E-mail address" -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -LogLevel Full

PowerShell 命令示例:

Search-Mailbox "Bob" -SearchDumpsterOnly -SearchQuery to:"[email protected]" -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -LogLevel Full

从恢复文件夹(垃圾箱)搜索并复制邮件项目 |搜索查询
过滤器 - 电子邮件附件

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

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

搜索存储在恢复邮件文件夹(垃圾箱)中的邮件项目,其中包含带有特定文件名的附件。

PowerShell命令语法:

Search-Mailbox "Source Mailbox" -SearchDumpsterOnly -SearchQuery attachment:"Attachment file name" -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -LogLevel Full

PowerShell 命令示例:

Search-Mailbox "Bob" -SearchDumpsterOnly -SearchQuery attachment:"Customer.pdf" -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -LogLevel Full

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

搜索存储在恢复邮件文件夹(垃圾箱)中的邮件项目,其中包含带有特定文件扩展名的附件。

PowerShell命令语法:

Search-Mailbox "Source Mailbox" -SearchDumpsterOnly -SearchQuery {Attachment -like "*.suffix"} -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -LogLevel Full

PowerShell 命令示例:

Search-Mailbox "Bob" -SearchDumpsterOnly -SearchQuery {Attachment -like "*.PDF"} -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -LogLevel Full

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

搜索存储在恢复邮件文件夹(垃圾箱)中、带有附件的邮件项目。

PowerShell命令语法:

Search-Mailbox "Source Mailbox" -SearchDumpsterOnly -SearchQuery {HasAttachment -eq $true} -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -LogLevel Full

PowerShell 命令示例:

Search-Mailbox "Bob" -SearchDumpsterOnly -SearchQuery -SearchQuery {HasAttachment -eq $true} -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -LogLevel Full

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

搜索存储在恢复邮件文件夹(垃圾箱)中的邮件项目,其大小比特定大小“更大”(更大)。

PowerShell命令语法:

Search-Mailbox "Source Mailbox" -SearchDumpsterOnly -SearchQuery {Size -gt <size in KB or MB>} -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -LogLevel Full

PowerShell 命令示例:

Search-Mailbox "Bob" -SearchDumpsterOnly -SearchQuery -SearchQuery {Size -gt 5MB} -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -LogLevel Full

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

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

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

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

[玩转系统] 使用 PowerShell 从恢复邮件文件夹(垃圾箱)恢复邮件项目 |第 3 部分#5

示例1

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

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

Search-Mailbox "Source Mailbox" -SearchDumpsterOnly -SearchQuery {HasAttachment -eq $true and subject:Test} -TargetMailbox "Target mailbox" -TargetFolder "Target Folder"

示例2

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

邮件日历中的邮件项目。

Search-Mailbox "Source Mailbox" -SearchDumpsterOnly -SearchQuery {kind:email OR kind:meetings} -TargetMailbox "Target mailbox" -TargetFolder "Target Folder"

示例3

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

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

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

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

取消回复欢迎 发表评论:

关灯