Uruchomienie usługi systemu Windows usług AD FS nie powiodło się z powodu nieunikatowego certyfikatu

Microsoft.ActiveDirectoryFederationServices2012R2.FederationServerBadConfigurationMultipleCertificatesMatchMonitor (UnitMonitor)

Knowledge Base article:

Podsumowanie

Nie powiodło się uruchomienie usługi systemu Windows usług AD FS, ponieważ certyfikat wskazany w bazie danych konfiguracji usług AD FS nie jest unikatowy.

Jeśli usługa systemu Windows usług AD FS zostanie pomyślnie uruchomiona, stan monitora zmieni się na Zielony, a pierwotny alert krytyczny zostanie automatycznie rozwiązany.

Przyczyny

Taki stan może wystąpić, jeśli certyfikat zostanie znaleziony we wskazanym magazynie, ale znajduje się tam więcej certyfikatów odpowiadających parametrowi findValue.

Rozwiązania

Jeśli certyfikat został zidentyfikowany według nazwy i istnieje wiele certyfikatów o takiej samej nazwie, skonfiguruj certyfikat za pomocą jego odcisku palca. Zlokalizuj element wskazany w zdarzeniu i zmodyfikuj jego parametr findValue pod kątem użycia odcisku palca certyfikatu.

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
Uruchomienie usługi systemu Windows usług AD FS nie powiodło się z powodu nieunikatowego certyfikatu
Certyfikat zidentyfikowany za pomocą wartości findValue „{0}” nie był unikatowy. Nie powiodło się uruchomienie usługi systemu Windows usług AD FS. Szczegóły zdarzenia znajdują się na karcie Kontekst alertu.
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>