AD FS Windows-tjänsten kunde inte starta eftersom AD FS-tjänstens konto inte kunde få åtkomst till den privata nyckeln för tokensignerings- eller tokenkrypteringscertifikatet som finns i AD FS-konfigurationsdatabasen.
Vid lyckad uppstart av AD FS Windows-tjänsten ändras övervakarens tillstånd till grönt och den ursprungliga kritiska varningen löses automatiskt.
Tillståndet kan uppstå när certifikatet hittas i det angivna arkivet, men det uppstår problem med åtkomsten till certifikatets privata nyckel. Följande är vanliga orsaker till tillståndet:
Certifikatet installerades från en källa som inte inkluderade den privata nyckeln, som en .cer- eller .p7b-fil.
Certifikatets privata nyckel importerades (till exempel från en .pfx-fil) till ett arkiv som skiljer sig från det arkiv som anges för händelsen.
Certifikatet genererades som en del av en certifikatbegäran som inte anger alternativet Maskinnyckel.
Federationstjänstens identitet har inte fått läsbehörighet för certifikatets privata nyckel.
Följande är möjliga lösningar på tillståndet:
Om certifikatet importerades från en källa utan privat nyckel, väljer du ett certifikat som har en privat nyckel eller importerar certifikatet igen från en källa som inkluderar den privata nyckeln (till exempel en .pfx-fil).
Om certifikatet importerades i en användarkontext verifierar du att arkivet som angavs tidigare stämmer överens med arkivet som certifikatet importerades till.
Om certifikatet genererades av en certifikatbegäran som inte angav alternativet Maskinnyckel och nyckeln är markerad som att den kan exporteras, exporterar du certifikatet med en privat nyckel från användararkivet till en .pfx-fil. Sedan importerar du det igen direkt till arkivet som anges i konfigurationsfilen.
Om nyckeln inte är markerad som att den kan exporteras begär du ett nytt certifikat med alternativet Maskinnyckel.
Om federationstjänstens identitet inte har fått läsbehörighet för certifikatets privata nyckel, korrigerar du tillståndet med snapin-modulen för certifikat. Mer information finns i proceduren Bekräfta att privata nycklar för certifikat finns tillgängliga för AD FS-tjänstens användarkonto i avsnittet Kontrollera följande innan du felsöker AD FS i AD FS felsökningsguide.
Target | Microsoft.ActiveDirectoryFederationServices2012R2.FederationServer | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Windows.2SingleEventLog2StateMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.ActiveDirectoryFederationServices2012R2.FederationServerBadConfigurationIdentityCertificateHasNoPrivateKeyMonitor" 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.FederationServerBadConfigurationIdentityCertificateHasNoPrivateKeyMonitor_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
</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">133</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>