Microsoft 混合代理

混合代理可消除配置 Exchange 混合环境时可能面临的一些挑战。 代理构建于与 Microsoft Entra 应用程序代理相同的技术之上,它删除了混合的某些配置要求。 例如:

  • 外部 DNS 条目。
  • 证书更新。
  • 通过防火墙的入站网络连接,以启用 Exchange 混合功能。

混合代理支持忙/闲共享和邮箱迁移、目录同步和其他混合功能。

重要

不支持通过 Microsoft Entra 应用程序代理将 Outlook Web App (OWA) 和 Exchange 控制面板 (ECP) 。

代理位置和要求

以下任一位置支持通过混合配置向导 (HCW) 安装代理和混合配置:

  • 在独立计算机上, (设计为“代理服务器”) 。
  • 在 Exchange Server 上:
    • Exchange 2016 或更高版本:邮箱角色。
    • Exchange 2013:客户端访问角色 (CAS) 。

系统要求

混合代理具有多种安装方法,具有不同的要求。 在所有情况下,核心计算机要求都与以下列表中所述相同:

  • Windows Server 2012 R2、Windows Server 2016、Windows Server 2019 或 Windows Server 2022

    • .NET Framework 4.7.2 或更高版本。
    • 已启用 TLS 1.2。
    • Microsoft Entra ID 中的应用程序代理
    • 能够建立到 Internet 的出站 HTTPS 连接。
    • 能够与为混合配置选择的 Exchange Server 建立 HTTPS 连接。

HCW 可以自动下载并安装代理 MSI,前提是满足以下要求:

  • 计算机是 Active Directory 域的成员。

  • 计算机能够与为混合配置选择的 Exchange Server 建立远程 PowerShell 连接。

  • 计算机使用支持 ClickOnce 技术的浏览器, (例如 Microsoft Edge) 。

  • 使用的本地 Active Directory 帐户必须满足以下要求:

    • 本地 Exchange 组织中的组织管理角色组中的成员身份。
    • 要安装混合代理的计算机上的本地管理员组中的成员身份。

如果要直接在 CAS 服务器上安装代理,则让 HCW 自动下载并安装代理 MSI 是理想的选择。

端口和协议要求

  • 出站端口 HTTPS (TCP) 443 和 80 必须在安装混合代理的计算机与 Internet 之间 打开,如下所示

  • 必须在安装混合代理的计算机与混合配置向导中选择的 CAS 之间打开端口 TCP 端口 443、80、5985 和 5986。

重要

从本地用户到 Exchange Online 用户的忙/闲请求不会遍历混合代理。 包括 Exchange 2013 邮箱服务器) 在内的所有 Exchange 邮箱服务器 (都必须能够通过 HTTPS (TCP 端口 443) 与 Microsoft 365 或 Office 365 终结点通信。 此处介绍了所需的 URL、IP 地址和端口。

代理服务器注意事项

如果网络环境使用出站代理服务器,则需要执行一些额外的配置,如本节中所述。 此列表可能并不详尽。

代理

代理支持未经身份验证的出站代理服务器,但在安装后需要执行更多配置。 在 ConfigureOutBoundProxy.ps1 安装了代理的计算机上运行位于 的 脚本 \Program Files\Microsoft Hybrid Service\ 。 例如:

PS C:\Program Files\Microsoft Hybrid Service\>.\ConfigureOutBoundProxy.ps1 -ProxyAddress http://proxyserver:8080

通过运行脚本,以下部分将添加到 Microsoft.Online.EME.Hybrid.Agent.Service.exe.config 位于同一文件夹中的 文件中:

  <system.net>
    <defaultProxy>
      <proxy proxyaddress="http://proxyserver:8080" bypassonlocal="True" usesystemdefault="True" />
    </defaultProxy>
  </system.net>

重要

阻止注册的代理服务器将导致以下项失败:

  • 连接器安装。
  • 安装后测试连接

建议允许连接器绕过代理,直到可以更改应用配置。

Exchange Server

HCW 建立从 Exchange Server 到 domains.live.com 的连接,以交换元数据并建立信任。 由于连接源自 CAS 服务器,因此必须正确设置来自) 的服务器上 (Get-ExchangeServer | Format-List internetWebProxy 代理设置,否则出站忙/闲状态可能会失败。 除了连接失败之外,如果代理设置不正确,HCW 将无法配置委托身份验证。

忙/闲要求

混合向导会自动处理本地 Exchange 和 Exchange Online 中所需的忙/闲信息。

如果需要配置与第三方共享忙/闲共享,请转到 Exchange 管理中心的“ 组织 ”选项卡,配置两个系统之间的个人或组织共享 (Exchange Online 和 Exchange 本地或 Exchange 本地) 。

如果遇到问题,请参阅 如何排查混合部署中的忙/闲问题

约束

安装混合代理之前,请记住以下问题:

  • 混合代理不支持混合新式身份验证。 需要使用经典 Exchange 混合拓扑并发布自动发现、EWS、ActiveSync、MAPI 和 OAB 终结点,以便与各种 Outlook 客户端配合使用。

  • 对于需要访问本地邮箱的 Teams 日历功能,建议使用完整的经典 Exchange 混合拓扑。 有关详细信息,请参阅 Exchange 与 Microsoft Teams 如何交互

  • 邮件跟踪和多邮箱搜索不会遍历混合代理。 这些混合功能需要经典连接模型,其中 Exchange Web Services (EWS) 和自动发现在本地发布,并在外部可供 Exchange Online 使用。

  • 混合代理注册在 Entra 混合代理基础结构中运行混合配置向导时选择的 CAS 服务器的内部 FQDN。 如果已注册的 CAS 服务器处于脱机状态,则从 Exchange Online 到本地的忙/闲查找以及从 Exchange Online 迁移邮箱将不起作用。 如果所选 CAS 永久脱机,则必须通过再次运行混合配置向导来注册新的 CAS 服务器。

  • 混合代理支持具有服务默认限制的单个迁移终结点。 不支持使用自定义终结点或 URL 的多个迁移终结点。

  • 混合代理支持单个 Exchange 组织。 不支持多个 Exchange 组织。

注意

SMTP 不会遍历混合代理,并且仍需要公共证书用于 Exchange Online 与本地组织之间的邮件流。 SMTP 流量在混合代理的范围内。

运行安装程序

必须在要安装代理的计算机上运行 HCW。 安装并配置代理后,HCW 将找到连接到并运行标准混合配置步骤的首选服务器。 无需直接从 Exchange 服务器运行 HCW。 但是,运行 HCW 的计算机必须能够连接到“ 端口和协议 ”部分中指定的端口上的 Exchange Server。

安装先决条件

  1. 可选:验证连接性。

    1. 在将运行混合配置向导的服务器上, (混合代理安装和后续混合配置步骤) ,下载以下示例脚本并将其保存到任何目录: https://aka.ms/hybridconnectivity

    2. 打开 Exchange 命令行管理程序并将目录更改为脚本的位置。

    3. 通过运行以下命令导入 cmdlet:

      Import-Module .\HybridManagement.psm1
      
    4. 运行以下命令,验证要安装的计算机是否可以访问混合代理安装和混合配置向导设置所需的所有终结点。

      Test-HybridConnectivity -TestO365Endpoints
      

      此命令的输出如下所示:

      Test-HybridConnectivity 的示例输出。

  2. 若要允许安装混合代理并执行与 Microsoft 365 或 Office 365 组织的邮箱迁移,请通过运行以下命令在 EWS 虚拟目录上启用邮箱复制服务 (MRS) 代理:

    Set-WebServicesVirtualDirectory -Identity "EWS (Default Web Site)" -MRSProxyEnabled $true
    

    注意

    如果在运行 HCW 之前未完成此步骤,HCW 将启用 MRS 代理。 但是,我们建议在运行 HCW 之前完成此步骤,以确保在 HCW 验证终结点之前,IIS 缓存有时间清除。

  3. 转到“控制面板 ”中的“程序和功能 ”,并验证是否尚未安装以前版本的混合配置向导。 如果是,请卸载它。

  4. 在运行 HCW 的计算机上安装 .NET Framework 4.6.2 版。 可能需要安装更高版本的 .NET Framework,具体取决于安装的 Exchange 版本。 或者,如果未安装此版本,HCW 会提示你安装它或升级计算机上已安装的版本。

安装步骤

  1. (EAC) 登录到本地 Exchange 管理中心,导航到 “混合 ”节点,然后单击“ 配置”。

  2. 选择要在其中运行传统混合安装的 Exchange 服务器。 选择 HCW 提供的默认服务器,或者在第二个单选按钮中指定特定服务器。 选择 下一步

  3. 输入本地 Exchange 凭据以及 Microsoft 365 或 Office 365 全局管理员凭据。 单击下一个

  4. 等待 HCW 收集有关环境的信息和配置。 完成后,单击“ 下一步”。

  5. 选择 “最小 ”或“ 完全混合配置”。 还可以选择“ 组织配置转移”。 有关详细信息,请参阅 混合组织配置传输 V2。 单击下一个

  6. 按照步骤启用联合。 单击下一个

  7. 选择“ 使用 Exchange 新式混合拓扑”

    混合配置向导中的“混合拓扑”页。

    单击下一个

  8. HCW 安装混合代理。 有四个基本阶段:

    1. 下载代理安装包。

    2. 在本地计算机上安装代理 (请注意:这会提示再次) 输入Microsoft 365 或 Office 365 全局管理员凭据。

    3. 在 Entra 中注册代理,包括创建用于代理请求的 URL。 URL 的格式为: uniqueGUID.resource.mailboxmigration.his.msappproxy.net

    4. 通过代理测试从 Microsoft 365 或 Office 365 组织迁移到本地 Exchange 组织的可行性。

    注意

    混合代理安装过程可能需要长达 10 分钟才能完成。

    剩余的 HCW 输入和操作与经典混合部署相同。

在更新阶段,HCW 使用上述步骤 8.3 中创建的自定义 URL 创建迁移终结点。 它还会将 Microsoft 365 或 Office 365 端的组织关系和/或 IntraOrganization Connector 对象的值设置为 TargetSharingEPR 此值。 新 URL 用于将请求从 Microsoft 365 或 Office 365 组织发送到本地 Exchange 组织,以便进行闲/忙迁移。

可以通过从 Exchange Online PowerShell 连接到 Microsoft 365 或 Office 365 组织运行 Get-MigrationEndpointGet-OrganizationRelationship 来查看特定值。

以下示例显示了运行 Get-MigrationEndpointGet-OrganizationRelationship cmdlet 时可能看到的输出:

Get-MigrationEndpoint | Format-List Identity,RemoteServer

Identity : Hybrid Migration Endpoint - EWS (Default Web Site)
RemoteServer : 087f1c2e-8711-4176-ab4f-4b1c1777a350.resource.mailboxmigration.his.msappproxy.net
Get-OrganizationRelationship | Format-List Name,TargetSharingEpr

Name : O365 to On-premises - c6d22e11-2340-4432-9122-19097bacf0c1
TargetSharingEpr : https://087f1c2e-8711-4176-ab4f-4b1c1777a350.resource.mailboxmigration.his.msappproxy.net/EWS/Exchange.asmx

混合代理 PowerShell 模块

混合管理 PowerShell 模块由混合配置向导在安装混合代理的计算机上*\Program Files\Microsoft 混合服务* 安装。 此模块提供以下 cmdlet,这些 cmdlet 现在可与启用多重身份验证的管理员帐户一起使用。

cmdlet 用途
Get-HybridAgent 查看安装的混合代理。
Update-HybridApplication 编辑混合应用程序的目标 URI 等参数。
Get-HybridApplication 查看组织中的所有混合应用程序。
Remove-HybridApplication 删除特定的混合应用程序。

如何使用混合代理 cmdlet(无论是否具有已启用多重身份验证的帐户)

若要使用这些 cmdlet,需要导入 **\Program Files\Microsoft Hybrid Service**中提供的最新 HybridManagement.psm1。 也可以直接从 https://aka.ms/HybridAgentPSM下载。

若要导入混合管理模块,请以管理员身份从 Windows PowerShell 提示符运行以下命令:

Import-module .\HybridManagement.psm1

若要使用启用了多重身份验证的管理员凭据执行这些 cmdlet,需要提供 userPrincipalName 参数。 如果帐户不是启用多重身份验证的管理员帐户,还可以使用 Credential 参数代替 userPrincipalName 参数,这将导致使用基本身份验证。

下表显示了这两种模式中的用法有何不同:

  具有已启用多重身份验证的帐户的管理员 具有基本身份验证的管理员
1 Get-HybridAgent -UserPrincipalName <租户管理员 UPN> Get-HybridAgent -Credential (Get-Credential)
2 Get-HybridApplication -UserPrincipalName <租户管理员 UPN> -AppId <GUID> Get-HybridApplication -Credential (Get-Credential) -AppId <GUID>
3 Remove-HybridApplication -UserPrincipalName <租户管理员 UPN> -AppId <GUID> Remove-HybridApplication -Credential (Get-Credential) -AppId <GUID>
4 New-HybridApplication -UserPrincipalName <租户管理员 UPN> -TargetUri “Server FQDN” New-HybridApplication -Credential (Get-Credential) -TargetUri “Server FQDN”
5 Update-HybridApplication -AppId <GUID> -TargetUri “Server FQDN” -UserPrincipalName <租户管理员 UPN> Update-HybridApplication -AppId <GUID> -TargetUri “Server FQDN” -Credential (Get-Credential)

多代理部署

选项 1:使用混合配置向导安装其他代理

可以安装其他混合代理来实现冗余。 只需下载最新版本的 HCW,并在要在其中安装其他混合代理的计算机上打开应用程序。

  1. 与以前的 HCW 安装一样,启动应用程序,选择“ 下一步”。

  2. 选择要对其执行的所需服务器,然后选择“ 下一步”。

  3. 提供凭据以登录到 Microsoft 365 或 Office 365 组织,然后选择“ 下一步”。

  4. HCW 将收集配置信息,完成后选择“ 下一步 ”。

  5. 选择为 “完整 ”或“ 最小”提供的默认选项,选择“ 下一步”。

  6. 选择“Exchange Modern Hybrid Topology”,“下一步”。

  7. 将显示一个页面,提供现有或以前安装的代理的状态。 在继续下一步之前,请确保现有代理的状态准确。 选择“ 安装其他代理”,然后单击“ 下一步”。

    示例:

    HCW 中已注册混合代理的示例。

HCW 将安装其他混合代理。 安装完成后,可以从计算机打开Microsoft Windows 服务控制台,并验证服务或代理是否已安装并运行 (查找 Microsoft混合服务 - mshybridsvc) 。 此时,如果希望对混合配置进行进一步更改,可以重新运行 HCW,也可以直接取消向导。

可以在想要安装其他混合代理的每台计算机上重复此步骤。

选项 2:手动下载并安装其他代理

安装其他代理的第二个选项位于 HCW 本身之外,可通过在所需的计算机上下载并手动安装代理来完成。

  1. 转到 https://aka.ms/hybridagentinstaller

  2. 将 MSHybridService.msi 保存到计算机上的某个位置。

  3. 在该计算机上,以管理员身份打开 Windows 命令控制台,并运行以下命令以安装混合代理:

    Msiexec /i MSHybridService.msi
    

    系统将提示你输入租户全局管理员凭据。

  4. 安装完成后,可以从计算机打开 Microsoft Windows 服务控制台,并验证服务或代理是否已安装并运行。

可以在想要安装其他混合代理的每台计算机上重复此步骤。

检查混合代理的状态

选项 1:通过混合配置向导获取状态

  1. 启动 HCW 应用程序,然后选择“ 下一步”。

  2. 选择 Exchange 组织中的服务器,然后选择“ 下一步”。

  3. 提供凭据以登录到 Microsoft 365 或 Office 365 组织,然后选择“ 下一步”。

  4. HCW 将收集配置信息。 完成后,选择“ 下一步 ”。

  5. 选择为 “完整” 或“ 最小 ”提供的默认选项,然后选择“ 下一步”。

  6. 选择“ Exchange 新式混合拓扑 ”,然后选择“ 下一步”。

    将显示一个页面,提供现有已安装代理的状态。

    HCW 中的代理状态。

  7. 完成后,单击“ 取消 ”。

选项 2:通过混合管理 PowerShell 模块获取状态

每次安装混合代理时,HCW 都会在安装代理的计算机上安装 \Program Files\Microsoft Hybrid Service\ 中的混合管理 PowerShell 模块。 默认情况下,不导入此模块,因此需要先导入它,然后才能使用它。 如果尚未安装此模块,还需要用于 PowerShell 的 Azure 模块。 首先安装 PackageManagement 模块 ,然后参阅 本主题 ,了解 Azure PowerShell 模块安装说明。

若要导入混合管理模块,请以管理员身份从 Windows PowerShell 提示符中运行以下命令:

Import-module .\HybridManagement.psm1

之后,可以运行以下命令来查看代理状态:

Get-HybridAgent -Credential (Get-Credential)

此命令的输出如下所示:

Get-HybridAgent 结果。

注意

结果中的 ID 值是代理标识,而不是分配给路由的唯一租户 guid。

将混合代理 () 定向到负载均衡器,而不是特定服务器

可以使用混合管理 PowerShell 模块配置混合代理 () ,以将请求定向到负载均衡器,而不是特定的 Exchange Server。 混合代理支持将请求路由到 Exchange Server 2013 客户端访问服务器和 Exchange Server 2016 服务器或更高版本的负载均衡器。

  1. 按照上一部分中的步骤导入 PowerShell 的混合管理模块。

  2. 使用 Update-HybridApplication cmdlet 上的 targetUri 参数将 internalURL 的值从特定服务器更改为负载均衡器终结点。

  3. 将租户的唯一终结点 GUID 值用于 appId 参数 (例如 6ca7c832-49a2-4a5d-aeae-a616f6d4b8e7) 。 请注意,此 GUID 值不是代理 ID。 若要查找终结点 GUID 值,请使用以下任一过程:

    • 从 值:TargetSharingEPR

      Get-OrganizationRelationship ((Get-OnPremisesOrganization).OrganizationRelationship) | Select-Object TargetSharingEpr
      

      输出如下所示:

      TargetSharingEpr
      ----------------
      https://6ca7c832-49a2-4a5d-aeae-a616f6d4b8e7.resource.mailboxmigration.his.msappproxy.net/EWS/Exchange.asmx

    • 从 MRS 配置中:

      Get-MigrationEndpoint "Hybrid Migration Endpoint - EWS (Default Web Site)" | Select-Object RemoteServer
      

      输出如下所示:

      RemoteServer
      ------------
      6ca7c832-49a2-4a5d-aeae-a616f6d4b8e7.resource.mailboxmigration.his.msappproxy.net

  4. 获得租户的终结点 GUID 值后,运行以下命令:

    • targetUrihttps://myloadbalancer.com 在此示例中, (值将) 不同。

    • appId:6ca7c832-49a2-4a5d-aeae-a616f6d4b8e7 在此示例中 (值将是不同的) 。

    Update-HybridApplication -targetUri "https://myloadbalancer.com" -appId 6ca7c832-49a2-4a5d-aeae-a616f6d4b8e7 -Credential (Get-Credential)
    

    示例:

    Update-HybridConfiguration 命令输出。

其他信息

可以在安装混合代理的服务器上以下位置查看该代理的安装详细信息。

  • 在服务控制台中:

    Windows 服务列表中的Microsoft混合服务。

  • 在 的注册表中 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Hybrid Service

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Hybrid Service。

  • 在硬盘驱动器上:

    Microsoft混合服务在硬盘驱动器上的位置。

  • 在“控制面板 ”中的“程序和功能 ”中:

    程序和功能中的Microsoft混合服务。

混合代理的测试和验证

成功部署混合代理和混合配置后,可以使用以下步骤通过代理验证忙/闲和邮箱迁移流。

  1. 在安装了混合代理的服务器上,打开 “性能监视器”。

  2. 将对象Microsoft AD 应用代理连接器# 请求计数器添加到视图中。

    性能监视器中的混合代理。

迁移

  1. 打开与 Microsoft 365 或 Office 365 组织的 Exchange Online PowerShell 连接

  2. 将 customguid 替换为唯一终结点 GUID 值,如将混合代理 () 定向到负载均衡器而不是特定服务器中所述,并运行以下命令:<>

    Test-MigrationServerAvailability -ExchangeRemoteMove:$true -RemoteServer '<your customguid>.resource.mailboxmigration.his.msappproxy.net' -Credentials (Get-Credential)
    
  3. 在显示的对话框中输入本地凭据。

测试返回成功结果后,切换回 性能监视器 并确认请求数已增加。

执行从本地 Exchange 组织到 Microsoft 365 或 Office 365 组织的测试邮箱移动也是一种选择。

注意

如果此测试失败,请尝试运行 Update-HybridApplication 并将其指向单个 Exchange Server 而不是负载均衡器。

忙/闲

若要对忙/闲信息执行相同的验证,请登录到租户中的 Microsoft 365 或 Office 365 邮箱,创建测试会议邀请,并将其发送到本地邮箱。

卸载混合代理

若要卸载混合代理,请从运行安装的同一台计算机重新运行混合配置向导,然后选择“ 经典连接”。 选择经典连接会从计算机和 Entra 中卸载和注销混合代理。 注销混合代理后,可以在经典模式下继续设置和配置混合代理。

将模式从经典切换到新式

成功配置经典混合 (发布 EWS 命名空间并允许入站) 后,可以切换到新式混合 (混合代理) 。 但是,只有在此设置完成后被阻止将邮箱迁移到云时,才建议切换。 如果选择还原为新式混合,请参阅前面的 约束 部分,因为混合代理支持并非所有混合功能或体验。

如果已权衡从经典到新式切换的优缺点,请继续删除 Exchange Online 中的现有迁移批处理和迁移终结点,然后重新运行混合配置向导并选择“ 新式混合”。