接聽同盟中繼資料要求時發生錯誤

Microsoft.ActiveDirectoryFederationServices.2016.TrustManagementMetadataListenerErrorMonitor (UnitMonitor)

Knowledge Base article:

摘要

此監視器指出,Federation Service 嘗試接聽欲讀取其發行的同盟中繼資料之要求時發生意外錯誤。

如果 15 分鐘內沒有再次發生相同問題,此監視器的健全狀況狀態會變回綠色狀態。此監視器產生的警示必須手動解決。

原因

AD FS Windows 服務可能不具有同盟中繼資料端點 URL 的讀取權限,或可能遭限制程度較高的存取控制清單 (ACL) 權限 (覆寫了其 URL 權限) 封鎖。

解決方式

請使用 HTTP 的 netsh 命令檢查同盟中繼資料端點 URL 上的 URL ACL 權限,或檢查是否有其他 URL 可能覆寫了同盟伺服器所用端點需要的權限。 For more information, see the examples for netsh http show urlacl syntax in 超文字傳輸通訊協定 (HTTP) 的 Netsh 命令

下列範例顯示了當您檢查同盟中繼資料端點權限 (其中使用者定義的服務使用者帳戶 ("adfssrv") 已設定且用於 AD FS 服務身分識別) 時,netsh http show urlacl 命令的一般輸出。

C:\>netsh http show urlacl url=https://+:443/FederationMetadata/2007-06/

Reserved URL :https://+:443/FederationMetadata/2007-06/

使用者:NT SERVICE\adfssrv

接聽:是

委派:是

SDDL:D:(A;;GA;;;S-1-5-80-2246541699-21809830-3603976364-117610243-975697593)

Element properties:

TargetMicrosoft.ActiveDirectoryFederationServices.2016.TrustManagement
Parent MonitorSystem.Health.ConfigurationState
CategoryConfigurationHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.SingleEventLogTimer2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
接聽同盟中繼資料要求時發生錯誤
Federation Service 無法於「{0}」接聽欲讀取同盟中繼資料文件的要求,導致發生意外錯誤。
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.ActiveDirectoryFederationServices.2016.TrustManagementMetadataListenerErrorMonitor" Accessibility="Public" Enabled="true" Target="Microsoft.ActiveDirectoryFederationServices.2016.TrustManagement" ParentMonitorID="Health!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.SingleEventLogTimer2StateMonitorType" ConfirmDelivery="true">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.ActiveDirectoryFederationServices.2016.TrustManagementMetadataListenerErrorMonitor_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Params/Param[1]$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="EventRaised" MonitorTypeStateID="EventRaised" HealthState="Warning"/>
<OperationalState ID="TimerEventRaised" MonitorTypeStateID="TimerEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>$Target/Host/Property[Type="Microsoft.ActiveDirectoryFederationServices.2016.FederationServer"]/ADFSEventLog$</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">155</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>MatchesMOM2005RegularExpression</Operator>
<Pattern>(^AD FS$)</Pattern>
</RegExExpression>
</Expression>
</And>
</Expression>
<TimerWaitInSeconds>900</TimerWaitInSeconds>
</Configuration>
</UnitMonitor>