在多地理位置环境中管理 Exchange Online 邮箱

Exchange Online PowerShell 是查看和配置 Microsoft 365 环境中的多个地理属性所必需的。 若要连接到 Exchange Online PowerShell,请参阅连接到 Exchange Online PowerShell

需要 Microsoft Graph PowerShell SDK 才能查看用户对象上的 PreferredDataLocation 属性。 通过 Azure Active Direct Connect 同步到 Microsoft Entra ID 的用户对象直接具有其 PreferredDataLocation 值。 管理员可以通过 Microsoft Graph PowerShell 手动修改仅限云的用户对象,如本文所述。 若要连接到 Microsoft Graph PowerShell,请参阅 登录到 Microsoft Graph PowerShell

在Exchange Online多地理位置环境中,无需执行任何手动步骤即可将地理位置添加到租户。 收到消息中心帖子,指出多地理位置已准备好Exchange Online后,所有可用的地理位置已准备就绪,并已配置供你使用。

使用 Exchange Online PowerShell 直接连接到某个地理位置

通常,Exchange Online PowerShell 连接到中央地理位置。 但你也可以直接连接到附属地理位置。 由于性能有所改进,因此,当你仅管理附属地理位置中的用户时,我们建议直接连接到该位置。

安装和维护 Exchange Online PowerShell 模块中介绍了安装并使用 Exchange Online PowerShell 模块的要求。

若要Exchange Online PowerShell 连接到特定地理位置,ConnectionUri 参数不同于常规连接说明。 命令和值的其余部分是相同的。

具体而言,需要将值添加到 ?email=<emailaddress>ConnectionUri 值的末尾。 <emailaddress> 是目标地理位置中 任何 邮箱的电子邮件地址。 你对该邮箱的权限或与凭据的关系不是一个因素;电子邮件地址只是告知Exchange Online PowerShell 连接的位置。

Microsoft 365 或 Microsoft 365 GCC 客户通常不需要使用 ConnectionUri 参数连接到 Exchange Online PowerShell。 但是,若要连接到特定地理位置,需要使用 ConnectionUri 参数,以便在 ?email=<emailaddress> 值中使用。

在 PowerShell Exchange Online连接到地理位置

以下连接说明适用于为或未配置多重身份验证的帐户, (MFA) 。

  1. 在 PowerShell 窗口中,通过运行以下命令加载 Exchange Online PowerShell 模块:

    Import-Module ExchangeOnlineManagement
    
  2. 在以下示例中, admin@contoso.onmicrosoft.com 是管理员帐户,目标地理位置是邮箱 olga@contoso.onmicrosoft.com 所在的位置。

    Connect-ExchangeOnline -UserPrincipalName admin@contoso.onmicrosoft.com -ConnectionUri https://outlook.office365.com/powershell?email=olga@contoso.onmicrosoft.com
    
  3. 在出现的提示中输入 admin@contoso.onmicrosoft.com 的密码。 如果为 MFA 配置了帐户,则还需要输入安全代码。

查看在 Exchange Online 组织中配置的可用地理位置

若要在 Microsoft 365 多地理位置中查看配置的地理位置的列表,请在 Exchange Online PowerShell 中运行以下命令:

Get-OrganizationConfig | Select -ExpandProperty AllowedMailboxRegions | Format-Table

查看 Exchange Online 组织的中心地理位置

若要查看租户的中心地理位置,请在 Exchange Online PowerShell 中运行以下命令:

Get-OrganizationConfig | Select DefaultMailboxRegion

查找邮箱的地理位置

Exchange Online PowerShell 中的 Get-Mailbox cmdlet 显示邮箱的以下多地理位置相关属性:

  • 数据库:数据库名称的前三个字母对应于地理代码,该代码指示邮箱当前所在的位置。 对于在线存档邮箱,应使用 ArchiveDatabase 属性。
  • MailboxRegion:指定管理员设置的地理位置代码 (从 preferredDataLocation 同步Microsoft Entra ID) 。
  • MailboxRegionLastUpdateTime:指明 MailboxRegion 的最后(自动或手动)更新时间。

若要查看邮箱的这些属性,请使用以下语法:

Get-Mailbox -Identity <MailboxIdentity> | Format-List Database,MailboxRegion*

例如,若要查看邮箱 chris@contoso.onmicrosoft.com 的地理位置信息,请运行以下命令:

Get-Mailbox -Identity chris@contoso.onmicrosoft.com | Format-List Database, MailboxRegion*

此命令的输出如下所示:

Database                    : EURPR03DG077-db007
MailboxRegion               : EUR
MailboxRegionLastUpdateTime : 2/6/2023 8:21:01 PM

注意

如果数据库名称中的地理位置代码与 MailboxRegion 值不匹配,则邮箱将自动放入重定位队列,并移动到 MailboxRegion 值指定的地理位置, (Exchange Online 查找这些属性值) 不匹配。

将现有的仅限云邮箱移动到特定地理位置

仅限云的用户 (直接在 Microsoft Entra ID) 中创建的用户是未通过 Microsoft Entra Connect 同步到租户的用户。 使用 Microsoft Graph PowerShell 中的 Get-MgUserSet-MgUser cmdlet 查看或指定存储仅限云用户的邮箱的地理位置。

若要查看用户的 PreferredDataLocation 值,请在 Microsoft Graph PowerShell 中运行以下命令:

Get-MgUser -All -Property PreferredDataLocation,ID,UserPrincipalName| Format-Table PreferredDataLocation,ID,UserPrincipalName -AutoSize

使用上一命令中的 ID 值修改仅限云的用户对象的 PreferredDataLocation 值:

Update-MgUser -UserId <ID> -PreferredDataLocation <GeoLocationCode>

例如,若要将 PreferredDataLocation 值设置为指定 ID 的 eu (EUR) geo,请运行以下命令:

Update-MgUser -UserId dba12422-ac75-486a-a960-cd7cb3f6963f -PreferredDataLocation EUR

有关详细语法和参数信息,请参阅 Get-MgUserUpdate-MgUser

注意

  • 如前所述,不能对本地 Active Directory中的同步用户对象使用此过程。 需要更改 Active Directory 中的 PreferredDataLocation 值,并使用 Microsoft Entra Connect 进行同步。 有关详细信息,请参阅 Microsoft Entra Connect Sync:为 Microsoft 365 资源配置首选数据位置

  • 将邮箱重定位到新的地理位置所花费的时间取决于若干因素:

    • 邮箱的大小和类型。
    • 正在移动的邮箱数量。
    • 移动资源的可用性。

将非活动邮箱移动到特定地理位置

注意

将非活动邮箱移动到其他地理位置时,可能会影响内容搜索结果或从以前的地理位置搜索邮箱的能力。 有关详细信息,请参阅 在多地理位置环境中搜索和导出内容

无法移动出于符合性目的而保留 (例如,通过更改 PreferredDataLocation 值) 诉讼保留上的邮箱。 若要将非活动邮箱移动到其他地理位置,请执行以下步骤:

  1. 恢复非活动邮箱。 有关说明,请参阅 恢复非活动邮箱

  2. 通过将 MailboxIdentity> 替换为<邮箱的名称、别名、帐户或电子邮件地址,并在 Exchange Online PowerShell 中运行以下命令,防止托管文件夹助理处理恢复的邮箱:

    Set-Mailbox <MailboxIdentity> -ElcProcessingDisabled $true
    
  3. Exchange Online计划 2 许可证分配给恢复的邮箱。 此步骤需要将邮箱重新置于诉讼保留状态。 有关说明,请参阅 向用户分配许可证

  4. 在邮箱上配置 PreferredDataLocation 值,如上一部分所述。

  5. 确认邮箱已移动到新的地理位置后,将恢复的邮箱重新置于诉讼保留状态。 有关说明,请参阅 将邮箱置于诉讼保留状态

  6. 验证诉讼保留是否已到位后,允许托管文件夹助理再次处理邮箱,方法是<将 MailboxIdentity> 替换为邮箱的名称、别名、帐户或电子邮件地址,并在 PowerShell Exchange Online 运行以下命令:

    Set-Mailbox <MailboxIdentity> -ElcProcessingDisabled $false
    
  7. 通过删除与邮箱关联的用户帐户,使邮箱再次处于非活动状态。 有关说明,请参阅 从组织中删除用户。 此步骤还会发布用于其他用途的 Exchange Online 计划 2 许可证。

在特定地理位置中创建新的云邮箱

若要在特定地理位置中创建新邮箱,你需要执行以下任一步骤:

  • 在 Exchange Online 中创建邮箱之前,请配置 PreferredDataLocation 值,如将现有仅限云邮箱移动到特定地理位置部分中所述。 例如,在分配许可证之前,为用户配置 PreferredDataLocation 值。
  • 在设置 PreferredDataLocation 值的同时分配许可证。

若要在特定地理位置创建新的仅限云许可的用户 (不Microsoft Entra Connect 同步) ,请在 Microsoft Graph PowerShell 中使用以下语法:

$PasswordProfile = @{Password = '<Password>'}

New-MgUser -DisplayName "<Display Name>" -AccountEnabled -MailNickName <Alias> -UserPrincipalName <Alias>@<domain> -PasswordProfile $PasswordProfile [-GivenName <FirstName>] [-SurName <LastName>] -PreferredDataLocation <GeoLocationCode>

此示例使用以下值为 Elizabeth Brunner 创建新的用户帐户:

  • 显示名称:Elizabeth Brunner
  • 别名:ebrunner
  • 用户主体名称:ebrunner@contoso.onmicrosoft.com
  • 密码:xWwvJ]6NMw+bWH-d
  • 名字:Elizabeth
  • 姓氏:Brunner
  • 位置:澳大利亚 (AUS)
$PasswordProfile = @{Password = 'xWwvJ]6NMw+bWH-d'}

New-MgUser -DisplayName "Elizabeth Brunner" -AccountEnabled -MailNickName ebrunner -UserPrincipalName ebrunner@contoso.onmicrosoft.com -PasswordProfile $PasswordProfile -GivenName Elizabeth -SurName Brunner -PreferredDataLocation AUS

有关详细语法和参数信息,请参阅 New-MgUser

注意

如果要在 Exchange Online PowerShell 中启用邮箱,并且需要直接在 PreferredDataLocation 中指定的地理位置创建邮箱,则需要直接在云服务中使用 Exchange Online cmdlet,例如 Enable-MailboxNew-Mailbox。 如果在本地 Exchange PowerShell 中使用 Enable-RemoteMailbox cmdlet,则会在中央地理位置创建邮箱。

在特定地理位置中载入现有本地邮箱

你可以使用标准载入工具和流程将邮箱从本地 Exchange 组织迁移到 Exchange Online,这些工具和流程包括 EAC 中的“迁移”仪表板,以及 Exchange Online PowerShell 中的 New-MigrationBatch cmdlet。

第一步是验证每个要加入的邮箱是否存在用户对象,并验证在Microsoft Entra ID 中配置了正确的 PreferredDataLocation 值。 载入工具遵循 PreferredDataLocation 值,并将邮箱直接迁移到指定的地理位置。

或者,你可以使用以下步骤,通过 Exchange Online PowerShell 中 New-MoveRequest cmdlet 在特定地理位置中直接载入邮箱。

  1. 验证要加入的每个邮箱是否存在用户对象,以及 PreferredDataLocation 是否设置为Microsoft Entra ID 中的所需值。 PreferredDataLocation 的值将同步到 Exchange Online 中相应邮件用户对象的 MailboxRegion 属性。

  2. 使用本文前面的连接说明直接连接到特定的卫星地理位置。

  3. 在 Exchange Online PowerShell 中,通过运行以下命令,将用于执行邮箱迁移的本地管理员凭据存储在一个变量中:

    $RC = Get-Credential
    
  4. 在 Exchange Online PowerShell 中,创建一个类似于以下示例的新 New-MoveRequest

    New-MoveRequest -Remote -RemoteHostName mail.contoso.com -RemoteCredential $RC -Identity user@contoso.com -TargetDeliveryDomain <YourAppropriateDomain>
    
  5. 对需要从本地 Exchange 迁移到当前连接到的附属地理位置的每个邮箱重复步骤 4。

  6. 如果需要将其他邮箱迁移到不同的附属地理位置,请为每个特定位置重复步骤 2-4。

多地理位置报告

注意

多地理位置报告功能目前为预览版,并非在所有组织中都可用,并且可能会发生更改。

Microsoft 365 管理中心中的“多地理位置使用情况报告”按地理位置显示用户计数。 报表显示当前月份的用户分布情况,并提供过去六个月的历史数据。

另请参阅

使用 PowerShell 管理 Microsoft 365