Windows-Server-2016

安裝 Azure AD Connect ADFS 健康代理時出現問題

  • March 13, 2018

我正在嘗試在 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

現在我通過Google執行了這個錯誤,它告訴我這可能是一個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 端點。

似乎缺少 TLS 的 localhost 特定 SNI 綁定。get-adfssslcertificate 應該顯示用於實際服務的主機名和 localhost 的 443 綁定。

如果失去, set-adfssslcertificate 是修復失去綁定的方法。這將允許健康代理安裝成功。

引用自:https://serverfault.com/questions/901216