我正在尝试在运行 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 是修复缺失绑定的方法。这将使健康代理安装成功。