现象
使用混合配置向导(HCW)设置 Microsoft混合代理时,在 HCW 中看到已安装混合代理的以下注册错误。
还会收到 HCW 日志中的以下错误条目:
10333 \[Client=UX, fn=SendAsync, Thread=\<ID\>\] Results=NotFound {"error":
{"code":"Application_NotFound", "message":"Application '\<application GUID\>' not found or
OnPremisesPublishing is not enabled for your tenant."
10333 \[Client=UX, fn=SendAsync, Thread=\<ID\>\] Results=BadRequest {"error":
{"code": "InternalUrl_Duplicate", "message":"Internal url '\<application URL\>' is invalid
since it is already in use."
原因
如果混合代理应用程序使用的内部 URL 已在组织内使用,则会发生错误。 更具体说来:
原因 1
使用 Microsoft Entra 应用程序代理的现有企业本地应用使用相同的内部 URL。
原因 2
以前安装的孤立混合代理应用程序使用了相同的内部 URL,该应用程序未完全注册。 孤立的混合代理应用程序可能是由于混合代理安装或卸载失败造成的。
原因 1 的解决方法
选择以下选项之一:
为现有企业应用分配不同的内部 URL。 执行以下步骤:
运行以下 PowerShell cmdlet 以连接到租户:
Import-Module Microsoft.Graph.Beta.Applications Connect-Graph -Scopes "Application.ReadWrite.All"
运行以下 PowerShell 命令,为企业应用分配不同的内部 URL。
$params = @{ onPremisesPublishing = @{ internalUrl = "<internal app URL>" externalUrl = "<external app URL>" } } Update-MgBetaApplication -ApplicationId <app ID> -BodyParameter $params
尽管预期更改是更新内部 URL,但外部 URL 包含在更新过程中。 可以使用现有的外部 URL 或更新的外部 URL。
有关详细信息,请参阅 Update-MgBetaApplication 和 添加本地应用程序。
删除现有的企业应用。 执行以下步骤:
运行以下 PowerShell cmdlet 以连接到租户:
Import-Module Microsoft.Graph.Applications Connect-Graph -Scopes "Application.ReadWrite.All"
运行以下 PowerShell cmdlet 以删除企业应用。
Remove-MgApplication -ApplicationId <app ID>
有关详细信息,请参阅 Remove-MgApplication。
原因 2 的解决方法
删除以前安装的孤立混合代理应用程序。 执行以下步骤:
获取上一个混合代理应用程序的应用程序 GUID。 可以通过搜索 HCW 日志来查找以下条目来查找此 GUID:
10386 [Client=UX, Thread=<ID>] Previous Connector Application Name found: <application GUID>
该条目可能类似于以下示例:
10386 [Client=UX, Thread=20] Previous Connector Application Name found: 8fc44b37-bf0d-45bf-8254-d4d033d93a6e
删除以前的混合代理应用程序。 执行以下步骤:
加载 HybridManagement PowerShell 模块:
将最新版本的 Microsoft HybridManagement.psm1 PowerShell 模块下载到 Exchange 组织中的服务器。
在包含 HybridManagement 模块的文件夹中,以管理员身份运行以下 PowerShell 命令:
Import-Module .\HybridManagement.psm1
将步骤 1 中找到的应用程序 GUID 传递给 Remove-HybridApplication cmdlet:
Remove-HybridApplication -AppId <application GUID> -Credential (Get-Credential)
或者,如果已启用 MFA,请运行:
Remove-HybridApplication -AppId <application GUID> -UserPrincipalName <tenant admin UPN>
系统提示输入凭据时,请输入Microsoft 365 或 Office 365 全局管理员凭据。
在经典模式下重新运行 HCW,以在 Microsoft Entra ID 中注销应用程序代理服务。
转到控制面板中的程序和功能,并验证是否未安装Microsoft混合服务。 如果是,请重新运行步骤 2 以删除混合代理应用程序。
在现代模式下重新运行 HCW。
注意
当系统提示你选择混合拓扑时,请选择 “Exchange 新式混合拓扑”。
如果未成功删除混合代理应用程序,请执行以下步骤:
运行以下 PowerShell cmdlet 以连接到租户:
Import-Module Microsoft.Graph.Applications Import-Module Microsoft.Graph.Beta.Applications Connect-Graph -Scopes "Application.ReadWrite.All"
如果不知道应用程序 ID,请运行以下 PowerShell cmdlet 以获取应用程序 ID:
Get-MgBetaServicePrincipal | where {$_.Tags -Contains "WindowsAzureActiveDirectoryOnPremApp"}| FL AppId, DisplayName
运行以下 PowerShell cmdlet 以删除混合应用程序:
Remove-MgApplication -ApplicationId <application GUID>
如果仍无法删除混合代理应用程序,请联系Microsoft 支持部门。