Não foi possível iniciar o serviço AD FS do Windows porque a conta de serviço AD FS não consegue aceder à chave privada do certificado de assinatura de tokens ou desencriptação de tokens que se encontra na base de dados de configuração do AD FS.
Se o serviço AD FS do Windows tiver sido iniciado com êxito, o monitor passará para um estado Verde e o alerta crítico original será automaticamente resolvido.
Esta condição poderá ocorrer quando o certificado for localizado no arquivo especificado, mas ocorrer um problema ao aceder à chave privada do certificado. As causas comuns desta condição incluem:
O certificado foi instalado a partir de uma origem que não incluía a chave privada, tal como um ficheiro .cer ou .p7b.
A chave privada do certificado foi importada (por exemplo, a partir de um ficheiro .pfx) para outro arquivo que não o especificado neste evento.
O certificado foi gerado como parte de um pedido de certificado que não especificava a opção "Chave de Computador".
Não foi concedido acesso de leitura sobre a chave privada do certificado à identidade do Serviço de Federação.
As possíveis resoluções desta condição incluem:
Se o certificado tiver sido importado a partir de uma origem que não possua chave privada, selecione um certificado que possua uma chave privada ou importe novamente o certificado a partir de uma origem que inclua a chave privada (por exemplo, um ficheiro .pfx).
Se o certificado tiver sido importado num contexto de utilizador, verifique se o arquivo especificado anteriormente corresponde ao arquivo para o qual o certificado foi importado.
Se o certificado tiver sido gerado por um pedido de certificado que não especificava a opção "Chave de Computador" e a chave estiver marcada como exportável, exporte o certificado com uma chave privada a partir do arquivo do utilizador para um ficheiro .pfx e volte a importá-lo diretamente para o arquivo especificado no ficheiro de configuração.
Se a chave não estiver marcada como exportável, solicite um novo certificado utilizando a opção "Chave de Computador".
Se não tiver sido concedido acesso de leitura sobre a chave privada do certificado à identidade do Serviço de Federação, corrija esta condição utilizando o snap-in Certificados. Para mais informações, consulte o procedimento "Confirmar se as chaves privadas dos certificados são acessíveis para a conta de utilizador do serviço AD FS" na secção "Coisas a Verificar Antes de Resolver Problemas do AD FS" do Manual de resolução de problemas do AD FS.
Target | Microsoft.ActiveDirectoryFederationServices.2016.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.ActiveDirectoryFederationServices.2016.FederationServerBadConfigurationIdentityCertificateHasNoPrivateKeyMonitor" Accessibility="Public" Enabled="true" Target="Microsoft.ActiveDirectoryFederationServices.2016.FederationServer" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.ActiveDirectoryFederationServices.2016.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.ActiveDirectoryFederationServices.2016.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.ActiveDirectoryFederationServices.2016.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>