Fehler beim Starten des AD FS-Windows-Diensts aufgrund eines nicht eindeutigen Zertifikats

Microsoft.ActiveDirectoryFederationServices2012R2.FederationServerBadConfigurationMultipleCertificatesMatchMonitor (UnitMonitor)

Knowledge Base article:

Zusammenfassung

Der AD FS-Windows-Dienst konnte nicht gestartet werden, da das Zertifikat, das in der AD FS-Konfigurationsdatenbank identifiziert ist, nicht eindeutig ist.

Wenn der AD FS-Windows-Dienst erfolgreich gestartet wird, wechselt der Monitor in einen "grünen" Bereich, und die ursprüngliche kritische Warnung wird automatisch aufgelöst.

Ursachen

Diese Bedingung kann auftreten, wenn das Zertifikat im angegebenen Speicher gefunden wird, aber mehrere Zertifikate vorhanden sind, die mit dem findValue übereinstimmen.

Lösungen

Wenn das Zertifikat nach Name gekennzeichnet ist und mehrere Zertifikate mit demselben Namen vorhanden sind, konfigurieren Sie das Zertifikat mithilfe des Zertifikatfingerabdrucks. Suchen Sie das in diesem Ereignis angegebene Element, und ändern Sie den zugehörigen findValue so, dass stattdessen der Fingerabdruck des Zertifikats verwendet wird.

Element properties:

TargetMicrosoft.ActiveDirectoryFederationServices2012R2.FederationServer
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Fehler beim Starten des AD FS-Windows-Diensts aufgrund eines nicht eindeutigen Zertifikats
Das durch den findValue '{0}' gekennzeichnete Zertifikat ist nicht eindeutig. Der AD FS-Windows-Dienst konnte nicht gestartet werden. Überprüfen Sie die Registerkarte "Warnungskontext" auf Ereignisdetails.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.ActiveDirectoryFederationServices2012R2.FederationServerBadConfigurationMultipleCertificatesMatchMonitor" Accessibility="Public" Enabled="true" Target="Microsoft.ActiveDirectoryFederationServices2012R2.FederationServer" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.ActiveDirectoryFederationServices2012R2.FederationServerBadConfigurationMultipleCertificatesMatchMonitor_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Params/Param[2]$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="FirstEventRaised" MonitorTypeStateID="FirstEventRaised" HealthState="Error"/>
<OperationalState ID="SecondEventRaised" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>$Target/Property[Type="Microsoft.ActiveDirectoryFederationServices2012R2.FederationServer"]/ADFSEventLog$</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">135</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>MatchesMOM2005RegularExpression</Operator>
<Pattern>(^AD FS$)</Pattern>
</RegExExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>$Target/Property[Type="Microsoft.ActiveDirectoryFederationServices2012R2.FederationServer"]/ADFSEventLog$</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">100</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>MatchesMOM2005RegularExpression</Operator>
<Pattern>(^AD FS$)</Pattern>
</RegExExpression>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>