安装 Azure AD Connect ADFS Health Agent 时出现问题

安装 Azure AD Connect ADFS Health Agent 时出现问题

我正在尝试在运行 Windows Server 2016 的 ADFS 4.0 场中的主服务器上安装 Azure AD Connect ADFS 健康代理。

安装成功完成,但配置时出现错误:

Register-AzureADConnectHealthADFSAgent : Could not query the MEX on http ports: 443 in hosts: localhost
At line:1 char:190
+ ... gent\PowerShell\AdHealthAdfs; Register-AzureADConnectHealthADFSAgent}
+                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Register-AzureADConnectHealthADFSAgent], InvalidOperationException
    + FullyQualifiedErrorId : System.InvalidOperationException,Microsoft.Identity.Health.Adfs.PowerShell.Configuration
   Module.RegisterADHealthAdfsAgent

现在我通过谷歌运行了这个错误,它告诉我这可能是一个STS 证书问题所以我按照文章指向那里,并且没有任何问题,没有其他可见的意外或不正确的证书指纹,此外在 ADFS 4.0 上您无法更改 ADFS 场中辅助服务器上的证书,因此即使只是尝试重新注册证书也无济于事。

根据 maweeras 的建议进行进一步诊断:

PS C:\Users\administrator.INTERNAL> $error[0] | fl * -f


PSMessageDetails      :
Exception             : System.InvalidOperationException: Could not query the MEX on http ports: 443 in hosts:
                        localhost
                           at Microsoft.Identity.Health.Adfs.PowerShell.ConfigurationModule.AdfsServiceExaminer.GetAdfs
                        FarmNameFromSts()
                           at Microsoft.Identity.Health.Adfs.PowerShell.ConfigurationModule.AdfsServiceExaminer.Compute
                        ServiceSignature()
                           at Microsoft.Identity.Health.Common.Clients.PowerShell.ConfigurationModule.RegisterADHealthA
                        gent.ProcessRecord()
                           at System.Management.Automation.CommandProcessor.ProcessRecord()
TargetObject          :
CategoryInfo          : NotSpecified: (:) [Register-AzureADConnectHealthADFSAgent], InvalidOperationException
FullyQualifiedErrorId : System.InvalidOperationException,Microsoft.Identity.Health.Adfs.PowerShell.ConfigurationModule.
                        RegisterADHealthAdfsAgent
ErrorDetails          :
InvocationInfo        : System.Management.Automation.InvocationInfo
ScriptStackTrace      : at <ScriptBlock>, <No file>: line 1
PipelineIterationInfo : {}

安装/配置日志似乎没有告诉我们任何尚未出现的信息。我可以在 Web 浏览器中通过其 FQDN 浏览到 MEX 端点。

答案1

看起来缺少针对 TLS 的本地主机特定的 SNI 绑定。get-adfssslcertificate 应该显示用于实际服务的主机名和本地主机的 443 绑定。

如果缺失,set-adfssslcertificate 是修复缺失绑定的方法。这将使健康代理安装成功。

相关内容