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

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

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

使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23


当前的文章我们回顾了可用于的第二个解决方案 - 处理 Office 365 目录同步环境或 Exchange 混合环境中发生的常见 Exchange Online 邮箱还原错误。

在我们的场景中,由于本地 Active Directory 用户帐户被删除的事件,Exchange、在线邮箱被删除。

  • 本地 Active Directory 用户“绑定”到其 Office 365 用户帐户“副本”。 ”
  • Office 365 用户帐户分配有 Exchange Online 许可证和 Exchange Online 邮箱。

常见的恢复错误是 - 不是恢复已删除的原始本地 Active Directory 用户帐户,而是创建一个新的本地 Active Directory 用户帐户,其详细信息与已删除的用户帐户看似相同,并且该信息会同步到 Office 365目录。

建议的解决方案是 - 将软删除的 Exchange Online 邮箱的内容恢复到创建的新 Exchange Online 邮箱。

此过程通过使用名为 -
New-MailboxRestoreRequest 的非常有用的 PowerShell 命令来实现,该命令旨在将数据(邮箱邮件项目)从特定 Exchange Online 邮箱“传输”到另一个 Exchange Online 邮箱。

在上一篇文章中,我们回顾了另一种类型的解决方案,可用于处理新的 Active Directory 用户创建的 Exchange Online 邮箱还原错误。

Exchange Online 恢复错误的特征 - 创建新的 Active Directory 用户帐户 - 场景描述

为了能够更好的理解,

  1. 创建新的 Active Directory 用户帐户的“错误的 Exchange Online 邮箱恢复操作”有什么特征?
  2. 此“错误的 Exchange Online 邮箱恢复操作”的结果是什么?
  3. 在处理“错误的 Exchange Online 邮箱恢复操作”时,我们将实施什么解决方案?

让我们使用以下场景:

组织邮件基础设施

  • 组织使用 Office 365 服务和 Exchange Online 作为其邮件基础设施。

目录基础结构

  • 目录管理是通过本地 Active Directory 和目录同步服务器 (Azure AD Connect) 实现的。
  • 目录同步服务器负责将本地 On-Premise Active Directory 中的信息同步到 Office 365 Directory (Azure Active Directory)。

删除事件

  1. 名为 James 的本地 Active Directory 用户帐户已删除(编号 1)。
  2. 有关“本地 Active Directory 用户删除”的信息,由目录同步服务器 (Azure AD Connect) 同步到 Office 365 目录 (Azure Active Directory)(编号 2)。
  3. 结果是,“绑定”到 James 已删除的本地 Active Directory 用户帐户的 James Office 365 用户帐户,也被删除了 (数字 3)。
  4. James Office 365 用户帐户被删除时,分配给 James Office 365 用户帐户的 Exchange Online 许可证将被删除(已删除)(编号 3) 。
  5. Azure Active Directory 将信息同步到 Exchange Online 基础结构。
  6. 当 Exchange Online 收到有关 James Exchange Online 许可证已删除的信息时,Exchange Online 将删除 James Exchange Online 邮箱(编号 4)。

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

恢复请求

管理员收到请求 - 恢复 James Exchange Online 已删除的邮箱,并允许 James 访问他恢复的 Exchange Online 邮箱。

在目录同步环境中恢复 Exchange Online 的“正确”过程

“正确的”恢复过程应该从恢复 James 软删除的本地 Active Directory 用户帐户开始,其余的 Exchange Online 邮箱恢复步骤应该自动“滚动”。

您可以在文章 - Office 365 环境中目录同步的特殊字符| 中阅读有关在目录同步环境中恢复 Exchange Online 的“正确步骤”的更多信息。第 2#2 条 |第 12 部分#23

Exchange Online 恢复邮箱错误的主要特征

Exchange Online 邮箱恢复错误

负责执行恢复 James Exchange Online 邮箱恢复任务的管理员认为该解决方案将按以下方式实施:

  • 创建一个新的本地 Active Directory 用户帐户,其看似相同的详细信息与“已删除 James 用户帐户”(相同的登录名和相同的电子邮件地址)。
  • 激活目录同步过程,并将有关“恢复的”James 本地 Active Directory 用户帐户的信息同步到 Office 365 Directory (Azure Active Directory)。

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

管理员的基本假设是,当目录同步过程运行时,软匹配机制将自动执行

目录同步软匹配机制应该将新的 James 本地 Active Directory 用户帐户与 Azure Active Directory - 软删除 James 用户帐户“绑定在一起”,因为他们具有相同的用户登录名和相同的电子邮件地址)。

“绑定过程”将导致:

  • Office 365 软删除 James 用户帐户的自动恢复过程。
  • 恢复分配给 Office 365 用户帐户的 Exchange Online 许可证的自动过程。
  • - James Soft 删除的 Exchange Online 邮箱的自动恢复过程。

当管理员登录 Office 365 管理门户时,他看到 James Office 365 用户帐户“已恢复”(Office 365 用户帐户貌似已恢复,事实是管理员看到的 Office 365 帐户是新的 Office 365 用户帐户),并请注意“由于某种原因”,分配给 James Office 365 用户帐户的 Exchange Online 许可证未恢复

为了解决此“许可证问题”,管理员将所需的 Exchange Online 许可证分配给 James Office 365 用户帐户。

请注意,Office 365 许可证未分配的真正原因是,在这种情况下,原始Office 365 未恢复,而是新的 Office 365 用户帐户创建了! (Exchange Online 许可证不会自动分配给新的 Office 365 用户)。

结果

未发生目录同步软匹配。

目录同步软匹配的过程不会发生

目录同步不会将新的 James Active Directory 用户“绑定”到软删除的 James Office 365 用户帐户,因为软删除的 Office 365用户帐户 ImmutableID已填充一些值(原始James删除的 Active Directory 用户的值)。

JamesActive Directory 用户帐户具有新 GUID(全局唯一标识符)值,该值与软删除的 Office 365 用户帐户不同不可变ID值。

因此,目录同步无法在两个用户帐户之间执行预期的“绑定”(软匹配),而是创建新的 Office 365 用户帐户, “绑定”到新的本地 Active Directory James 用户帐户。

两“套”用户帐户和 Exchange Online 邮箱

结果就是“一团糟”。

“实际结果”不是预期的结果,而是现在我们将拥有“两套”用户帐户和两套 Exchange Online 邮箱。

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

A组 - 新物体

  • 创建新的本地 Active Directory 用户帐户将导致一个场景,其中将创建新的 Office 365 用户帐户
  • 当 Exchange Online 许可证分配给新的 Office 365 用户帐户时,将创建一个新的 Exchange Online 邮箱。

结果是:

  • 新的 Active Directory 用户帐户。
  • 新的 Office 365 用户帐户。
  • 一个新的 Exchange Online 邮箱。

B 组 - 之前软删除的对象

对象的附加“层”,是软删除对象的层,它将继续存在于各个回收站中:

  • 原始 James 软删除的 Active Directory 用户将继续存储在 Active Directory 回收站中。
  • “绑定”到 Active Directory 用户的软删除 James Office 365 用户帐户将继续存储在 Azure Active Directory 回收站中。
  • 软删除的 James Exchange Online 邮箱将继续存储在 Exchange Online 回收站中。

注意:在基于 Office 365 的环境中,软删除的用户帐户和软删除的 Exchange Online 邮箱将在 Office 365 回收站中保留 30 天。在此期限结束时,软删除对象将被永久删除。

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

结果

James 本地 Active Directory 用户可以访问他的 Exchange Online 邮箱,但他报告 Exchange Online 邮箱还原失败,因为邮箱为空你>!

请注意,应该“显示”的 Exchange Online 邮箱数据存储在软删除的 Exchange Online 邮箱(即 Exchange Online 回收站中)中。

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

建议解决方案的描述 - 使用 PowerShell 命令 New-MailboxRestoreRequest 将软删除邮箱的内容导入到新的空邮箱。

解决方案

所提供的解决方案是通过使用 PowerShell 命令
New-MailboxRestoreRequest 将 James 软删除邮箱的内容导入 James NEW 空 Exchange 邮箱来实现的。

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

PowerShell 命令 New-MailboxRestoreRequest 是为了启用 Exchange Online 管理员而创建的,用于将邮箱内容从“源 Exchange Online 邮箱”“传送”到“目标 Exchange Online 邮箱”。

在这种类型的解决方案中,我们不会尝试“恢复”Exchange Online 恢复错误,而是使用现有的新用户集(本地 Active Directory 和 Office 365) ,以及创建的新 Exchange Online 邮箱。

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

在我们的方案中,我们有两个 Exchange Online 邮箱:被视为软删除邮箱的原始 Exchange Online 邮箱和创建的新空 Exchange Online 邮箱。

在下图中,我们可以看到整个过程中涉及的所有组件的描述。

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

文章中描述的另一种可能实施的解决方案(“恢复恢复错误。”) - 通过恢复原始软删除的 Active Directory 用户解决 Exchange Online 邮箱恢复错误 |第 21 部分#23

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

挑战
为了能够“复制并粘贴”邮箱内容,我们需要解决所需的 Exchange Online 邮箱问题。大多数时候,我们使用标准标识符来寻址 Exchange Online 邮箱,例如邮箱别名或邮箱电子邮件地址。

在我们的场景中,我们将无法通过使用标准“标识符”(例如别名)来引用“源 Exchange Online 邮箱”或“引爆 Exchange Online”。原因是,软删除的 Exchange Online 邮箱和创建的新空 Exchange Online 邮箱具有相同的别名和相同的电子邮件地址

为了能够绕过这个障碍,并解决所需的 Exchange Online 邮箱,我们将使用 GUID 值作为标识符(GUID 值是唯一标识符)。

  1. 在第一步中,我们将使用 PowerShell 命令来“显示”每个涉及的 Exchange Online 邮箱的 GUID 值。
  2. 在下一阶段,我们将使用 GUID 值作为“身份值”来处理 Exchange Online 邮箱。

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

实施解决方案 - 使用 PowerShell 命令 New-MailboxRestoreRequest 将软删除邮箱的内容导入到新的空邮箱

在以下部分中,我们将演示一个包含以下部分的场景:

  • 步骤 1#3 - 模拟删除本地 Active Directory 用户帐户的事件。
  • 步骤 2#3 - 模拟 Exchange Online 邮箱还原错误。
  • 步骤 3#3 - 修复 Exchange Online 邮箱还原错误 - 使用 New-MailboxRestoreRequest 将软删除的邮箱内容导入新的空邮箱

在开始之前,我们先来看看 James Exchange Online 邮箱。

我们可以看到James收到了一封来自Brad的电子邮件,并且电子邮件的主题是 - “这是一封来自Brad在邮箱被删除之前的电子邮件。”

在最后一步中,我们将数据从 Exchange Online 软删除“合并”到新的 Exchange Online 邮箱;我将向您展示如何将“旧内容”合并与新的 Exchange Online 邮箱内容(在下一节 2#3 中,James Exchange Online 邮箱将被删除) 。

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

步骤 1#3 - 模拟删除本地 Active Directory 用户帐户的事件。

在我们的示例中,我们将通过删除 James On-Premise Active Directory 用户帐户来模拟该场景。

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

  • 有关“本地 Active Directory 用户删除”的信息,由目录同步服务器 (Azure AD Connect) 同步到 Office 365 目录 (Azure Active Directory)。
  • 结果是,“绑定”到已删除的本地 Active Directory 用户帐户的 James Office 365 用户帐户也被删除
  • 删除 Office 365 用户帐户后,分配给 James Office 365 用户帐户的 Exchange Online 许可证将被删除(已删除)

Office 365 | Exchange Online 基础设施 | Exchange Online 管理中心

  • Azure Active Directory 将信息同步到 Exchange Online 基础结构。
  • 当 Exchange Online 收到有关 Exchange Online 许可证已删除的信息时,James 与 Office 365 用户帐户关联的 Exchange Online 邮箱已删除

为了能够查看软删除的 James Exchange Online 邮箱,我们将使用 Exchange Online 管理中心。

Exchange Online,提供图形界面用于查看 Exchange Online 回收站的内容 - 收件人 => 邮箱 =>三个点 => 已删除邮箱

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

在下面的屏幕截图中,我们可以看到 Exchange Online 回收站的内容。
我们可以看到 Exchange Online 回收站包含 James 软删除邮箱。

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

步骤 2#3 - 模拟 Exchange Online 邮箱还原错误

在本节中,我们将模拟 Exchange Online“恢复错误”,其中创建了一个新的 Active Directory 用户帐户。

“正确的恢复操作”应该是恢复本地 Active Directory 软删除 Jame 用户帐户。

您可以在文章 - 恢复 Exchange Online 用户邮箱| 中阅读有关在目录同步环境中恢复 Exchange Online 邮箱的“正确步骤”的更多信息。目录同步环境| “正确的方式” |第 17 部分#23

本地部署 |活动目录

管理员为 James 创建一个新的本地 Active Directory 用户帐户,该帐户看起来与已删除的 James 用户帐户相同。

新的 James 本地 Active Directory 用户帐户配置为与“以前的 James 用户帐户”(软删除的 Active Directory)具有相同的登录名和相同的电子邮件地址用户帐号)。

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

在我们的示例中,我使用用户帐户描述字段来强调特定用户帐户是新帐户的事实。

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

Office 365 | Azure 活动目录 | Office 365 管理中心界面

在此步骤中,我们希望在目录同步过程完成后查看有关本应“恢复”的“Office 365 用户帐户”的信息。

当查看 Office 365 管理中心门户中的活动用户列表时,我们可以看到“出现”了 James Office 365 用户帐户。

注意 - 请注意,这不是恢复的 James 用户帐户,而是创建的新 Office 365 用户帐户!

当我们查看 James Office 365 帐户属性时,我们可以注意到两个重要参数:

  • 在“同步类型”列中,我们可以看到定义为“与 Active Directory 同步”(数字 1)的用户帐户。意思是,James Office 365 用户帐户“绑定”到本地 Active Directory 用户帐户。
  • 状态列(数字 2)中,我们可以看到 Office 365 用户帐户没有许可证。这是一个“线索”,表明 James Office 365 用户帐户不是“原始用户帐户”,因为原始 James > Office 365 用户拥有 Exchange Online 许可证。

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

在我们的示例中,管理员注意到 James Office 365 帐户没有 Office 365 许可证。为了能够“激活”Office 365 用户帐户,他将所需的 Exchange Online 许可证分配给 James Office 365 帐户。

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

在线交流 |新的空 Exchange Online 邮箱

如前所述,James Office 365 用户帐户没有 Exchange Online 许可证。
当管理员将 Exchange Online 许可证分配给新的 James Office 365 用户帐户时,创建了一个新的空 Exchange Online 邮箱。

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

在我们的场景中,James 连接到他的 Exchange Online 邮箱并开始发送和
接收电子邮件。

在下面的屏幕截图中,我们可以看到James收到了Angelina发来的电子邮件。

请注意,James 邮箱包含 Angelina 发送的“新邮件”,但原始 Exchange Online 邮箱内容并未出现!

我们“看到”的 Exchange Online 邮箱不是与软删除 Jame 的用户帐户关联的原始 Exchange Online 邮箱,而是一个新的空 Exchange Online 邮箱。

稍后,当我们完成将“旧的软删除 Exchange Online 邮箱”中的数据合并到新的空 Exchange Online 邮箱的过程时,它将帮助我“证明”旧邮件项目与新邮件项目已合并。

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

步骤 3#3 - 修复 Exchange Online 邮箱还原错误 - 使用 New-MailboxRestoreRequest 将软删除的邮箱内容导入到新的空邮箱

在此步骤中,我们将使用 Exchange Online PowerShell 命令
New-MailboxRestoreRequest,导入(复制)存储在 James Exchange Online 软删除中的数据并将邮箱内容“粘贴”到新的 James Exchange Online 邮箱。

我们需要使用的PowerShell命令语法是:

New-MailboxRestoreRequest -SourceMailbox <Soft Deleted Exchange Online mailbox> -TargetMailbox <Existing Exchange Online mailbox> -AllowLegacyDNMismatch

在我们的示例中,我们将通过寻址 [email protected] Exchange 邮箱来使用 New-MailboxRestoreRequest PowerShell 命令。

注意我们需要处理的“问题”:

New-MailboxRestoreRequest -SourceMailbox [email protected] -TargetMailbox [email protected] -AllowLegacyDNMismatch

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

结果出现以下错误:

The operation couldn't be performed because '[email protected]' matches multiple entries.

我们的挑战是 - 如何区分两个不同的 Exchange Online 邮箱?两个软删除的 Exchange Online 邮箱“身份”均由电子邮件地址 [email protected] 表示。

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

解决方案是使用唯一标识符 - GUID(全局唯一标识符)值来寻址每个 Exchange Online 邮箱。

我们需要获取 GUID 值:

  1. 源 Exchange Online 邮箱含义,软删除 James 的
  2. 目标 James Exchange Online 邮箱(新的空 Exchange Online 邮箱)。

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

1#2 - 获取源 Exchange Online 邮箱的 GUID 值

在以下示例中,我们演示如何获取软删除的 Exchange Online 邮箱的 GUID 值

我们将使用以下 PowerShell 命令:

Get-Mailbox -SoftDeletedMailbox James | FL Alias,ExchangeGuid

请注意,我们要求 Exchange Online 使用参数 SoftDeletedMailbox 从 Exchange Online 回收站“获取”有关 Exchange Online 的信息。

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

  • 在我们的示例中,源 Exchange Online 邮箱的 GUID 值为 -
    4f664109-65b8-4958-89c7-cf9f01f29c31

2#2 - 获取目标 Exchange Online 邮箱的 GUID 值

我们将使用以下 PowerShell 命令:

Get-Mailbox James | FL Alias,ExchangeGuid

请注意,这一次,我们要求 Exchange Online“获取有关名为 -James 的用户的“活动”Exchange Online 邮箱的信息”。

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

  • 在我们的示例中,目标 Exchange Online 邮箱的 GUID 值为 -
    4357604d-341a-4f99-bfbd-9b04edef8273

运行 New-MailboxRestoreRequest PowerShell 命令

现在,我们可以完成最后一步,执行 New-MailboxRestoreRequest PowerShell 命令,该命令会将 James 软删除邮箱中包含的所有邮箱内容恢复到新的空 James Exchange已创建的在线邮箱。

我们在示例中使用的 PowerShell 命令是:

New-MailboxRestoreRequest -SourceMailbox 4f664109-65b8-4958-89c7-cf9f01f29c31 -TargetMailbox 4357604d-341a-4f99-bfbd-9b04edef8273 -AllowLegacyDNMismatch

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

在下面的屏幕截图中,我们可以看到结果。

请注意有趣的事情,新的 James Exchange Online 邮箱已经包含一些邮件项目,例如 Angelina 发送的电子邮件。

New-MailboxRestoreRequest PowerShell 命令不会对现有邮件项目运行,而是将源 Exchange Online 邮箱中的邮件项目与目标 Exchange Online 邮箱中的现有邮件项目“合并”。

[玩转系统] 使用 PowerShell 命令 New-MailboxRestoreRequest 将 Exchange Online 邮箱内容恢复到另一个邮箱 |第 22 部分#23

当前文章系列的下一篇文章

解决Exchange Online邮箱还原错误Office 365用户被还原——删除ImmutableID值|第 23 部分#23

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

取消回复欢迎 发表评论:

关灯