AD FS 2.0-Dienst kann nicht gestartet werden

Dieser Artikel enthält Schritte zur Problembehandlung bei Problemen beim Konfigurieren und Starten des AD FS-Diensts.

Gilt für: Windows Server 2012 R2
Ursprüngliche KB-Nummer: 3044973

Zusammenfassung

Die meisten AD FS 2.0-Probleme gehören zu einer der folgenden Standard Kategorien. Dieser Artikel enthält die schrittweisen Anweisungen zur Behandlung von Problemen mit dem AD FS-Dienst.

Symptome

  • Der AD FS-Dienst wird nicht gestartet.

  • Der AD FS-Dienst wird gestartet, aber die folgenden Fehler werden nach einem Neustart im AD FS-Admin-Protokoll protokolliert:

    • Ereignis-ID: 220
      Die Verbunddienstkonfiguration konnte nicht ordnungsgemäß aus der AD FS-Konfigurationsdatenbank geladen werden.
    • Ereignis-ID: 352
      Fehler bei einem SQL Server Vorgang in der AD FS-Konfigurationsdatenbank mit Verbindungszeichenfolge %1.
    • Ereignis-ID: 102
      Fehler beim Aktivieren von Endpunkten des Verbunddiensts.

Lösung

Führen Sie die folgenden Schritte in der angegebenen Reihenfolge aus, um dieses Problem zu beheben. Mithilfe dieser Schritte können Sie die Ursache des Problems ermitteln. Überprüfen Sie nach jedem Schritt, ob das Problem behoben ist.

Schritt 1: Überprüfen, ob beim Starten des AD FS-Diensts ein Zeitüberschreitungsereignis aufgetreten ist

Wenn beim Starten des AD FS-Diensts ein Zeitüberschreitung auftritt, erhalten Sie die folgende Fehlermeldung:

Der Dienst hat nicht rechtzeitig auf die Start- oder Steuerungsanforderung reagiert.

Korrigieren von AD FS-Dienstzeiten

Ändern Sie die Wertdaten für den DWORD-Wert ServicesPipeTimeout in 60000 im Control-Schlüssel . Gehen Sie dazu wie folgt vor:

  1. Öffnen Sie auf dem AD FS-Server die Registrierungs-Editor.

  2. Suchen Sie den folgenden Registrierungsschlüssel, und klicken Sie dann auf den folgenden Registrierungsschlüssel:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet

  3. Klicken Sie auf den Unterschlüssel Steuerelement .

  4. Klicken Sie mit der rechten Maustaste auf den DWORD-Wert ServicesPipeTimeout , und klicken Sie dann auf Ändern. Wenn kein ServicesPipeTimeout-Wert vorhanden ist, erstellen Sie ihn.

  5. Klicken Sie auf Dezimal.

  6. Geben Sie 60000 ein, und klicken Sie dann auf OK. Weitere Informationen zu diesem Timeoutfehler finden Sie unter AD FS 2.0: Der Dienst kann nicht gestartet werden: "Der Dienst hat nicht rechtzeitig auf die Start- oder Steuerungsanforderung reagiert".

Schritt 2: Überprüfen, ob die AD FS-Konfigurationsdatenbank ausgeführt wird

  • Wenn Sie interne Windows-Datenbank (WID) als AD FS-Konfigurationsdatenbank verwenden, öffnen Sie services.msc, und überprüfen Sie, ob der interne Windows-Datenbank Dienst ausgeführt wird.

  • Wenn Sie den SQL Server-Dienst als AD FS-Konfigurationsdatenbank verwenden, öffnen Sie services.msc. Überprüfen Sie, ob der SQL Server Dienst ausgeführt wird. Sie können auch eine Test.udl-Datei erstellen und die Verbindungszeichenfolge auffüllen, um die Konnektivität mit Microsoft SQL Server zu testen.

Beheben

Öffnen Sie Services.msc, und starten Sie dann den interne Windows-Datenbank Dienst oder SQL Server Dienst.

Für einen AD FS-Server, der SQL Server als Konfigurationsdatenbank verwendet, müssen Sie auch zwei Sicherheitseinstellungen wie folgt überprüfen:

  1. Stellen Sie mithilfe von SQL Management Studio eine Verbindung mit dem Server her, auf dem SQL Server ausgeführt wird.

  2. Überprüfen Sie, ob die AD FS 2.0-Windows-Dienstidentität in der SQL Server-Konsole auf dem KnotenSicherheitsanmeldungen> vorhanden ist. Wenn dies nicht der Fall ist, fügen Sie es hinzu.

  3. Überprüfen Sie, ob die AD FS 2.0-Windows-Dienstidentität unter Datenbanken>AdfsConfiguration>Security>Users vorhanden ist und ob sie besitzer des IdentityServerPolicy-Schemas ist. Wenn dies nicht der Fall ist, fügen Sie es hinzu.

Schritt 3: Überprüfen des AD FS-Dienstkontos

  1. Überprüfen Sie, ob der AD FS-Dienst und der IIS-AppPool unter einem gültigen Dienstkonto ausgeführt werden. Wenn Sie das Kennwort des Dienstkontos geändert haben, stellen Sie sicher, dass das neue Kennwort im AD FS-Dienst und im IIS-AppPool aktualisiert wird.

    1. Öffnen Sie Services.msc, klicken Sie mit der rechten Maustaste auf AD FS 2.0-Dienst, und klicken Sie dann auf Eigenschaften. Stellen Sie auf der Registerkarte Anmelden sicher, dass das neue AD FS-Dienstkonto im Feld Dieses Konto aufgeführt ist.

    2. Öffnen Sie IIS-Manager, navigieren Sie zu Anwendungspools, klicken Sie mit der rechten Maustaste auf ADFSAppPool, und klicken Sie dann auf Erweiterte Einstellungen. Stellen Sie im Abschnitt Prozessmodell sicher, dass das neue AD FS-Dienstkonto als Identität aufgeführt ist.

  2. Überprüfen Sie, ob das Dienstkonto über ausreichende Berechtigungen in der AD FS-Datenbank verfügt. Sie sollten sich Gedanken über die Berechtigung machen, wenn Sie das Dienstkonto geändert haben, unter dem ADFS ausgeführt wird.

    Wenn Sie SQL Server als Konfigurationsserver verwenden, führen Sie die folgenden Schritte aus, um die Berechtigung für das Dienstkonto zurückzusetzen:

    1. Führen Sie an einer Eingabeaufforderung den folgenden Befehl aus:

      fsconfig.exe /CreateSQLScripts /ServiceAccount <ADFS service account> /ScriptDestinationFolder <path to create scripts>
      
    2. Kopieren Sie das erstellte Skript auf den Server, auf dem SQL Server ausgeführt wird.

    3. Führen Sie das Skript auf dem Server aus.

  3. Überprüfen Sie, ob das Dienstkonto über Lese- und Änderungsberechtigungen für den Zertifikatfreigabecontainer (CN=<GUID,CN>=ADFS,CN=Microsoft,CN=Program Data,DC=<Domain,DC>=<COM>) verfügt.

    1. Öffnen Sie auf einem Domänencontroller ADSIEDIT.msc.

    2. Stellen Sie eine Verbindung mit dem Standardbenennungskontext her.

    3. Navigieren Sie zu CN=<GUID,CN>=ADFS,CN=Microsoft,CN=Program Data,DC=<Domain,DC>=<COM>. Ein Beispiel für eine GUID ist 62b8a5cb-5d16-4b13-b616-06caea706ada.

    4. Klicken Sie mit der rechten Maustaste auf die GUID, und klicken Sie dann auf Eigenschaften. Wenn mehrere GUID vorhanden sind, führen Sie die folgenden Schritte aus, um die GUID für den Server zu finden, auf dem der AD FS-Dienst ausgeführt wird.

      1. Starten Sie auf dem Server, auf dem der AD FS-Dienst ausgeführt wird, Windows PowerShell.

      2. Führen Sie die folgenden Befehle aus:

        Add-PSSnapin microsoft.adfs.powershell
        
        Get-ADFSProperties
        
      3. Die GUID ist unter CertificateShareingContainer aufgeführt.

  4. Überprüfen Sie, ob das neue Dienstkonto über die Leseberechtigung für den privaten Schlüssel des AD FS-Dienstkommunikationszertifikats verfügt.

    1. Erstellen Sie eine Microsoft Management Console (MMC) mithilfe des Zertifikat-Snap-Ins Zertifikate, das auf den Zertifikatspeicher des lokalen Computers ausgerichtet ist.
    2. Erweitern Sie die MMC, und wählen Sie dann Private Schlüssel verwalten aus.
    3. Fügen Sie auf der Registerkarte Sicherheit das AD FS-Dienstkonto hinzu, und gewähren Sie diesem Konto die Leseberechtigung.
  5. Überprüfen Sie, ob der AD FS-DIENSTprinzipalname (SPN) HOST/ADFSServiceName unter dem Dienstkonto hinzugefügt und aus dem vorherigen Konto entfernt wurde (falls das Dienstkonto geändert wurde).

    1. Klicken Sie mit der rechten Maustaste auf Eingabeaufforderung, und klicken Sie dann auf Als Administrator ausführen.
    2. Geben Sie SetSPN -f -q host/ <Federation service name> ein, und drücken Sie dann die EINGABETASTE.

    In diesem Befehl <stellt Verbunddienstname> den vollqualifizierten Domänennamen (FQDN) des AD FS-Dienstendpunkts dar. Sie finden den Dienstnamen im Dialogfeld Verbunddiensteigenschaften :

    Screenshot der Verbunddienst-Eigenschaftenfenster mit dem Namen des Verbunddiensts.

    Führen Sie die folgenden Schritte aus, um den SPN aus dem Konto hinzuzufügen oder daraus zu entfernen:

    1. Öffnen Sie auf einem Domänencontroller ADSIEDIT.msc.

    2. Stellen Sie eine Verbindung mit dem Standardbenennungskontext her.

    3. Erweitern Sie CN=Users,CN=Microsoft,CN=Program Data,DC=<Domain,DC>=<COM>.

    4. Suchen Sie das Dienstkonto. Klicken Sie mit der rechten Maustaste auf das Dienstkonto, und klicken Sie dann auf Eigenschaften.

    5. Suchen Sie das attribut servicePrincipalName , und klicken Sie dann auf Bearbeiten.

    6. Hinzufügen oder Entfernen des AD FS-Dienst-SPN. Hier sehen Sie ein Beispiel für einen AD FS-Dienst-SPN:

      HOST/newadfs.contoso.com

  6. Wenn Sie das Kennwort des Dienstkontos ändern, stellen Sie sicher, dass das neue Kennwort im AD FS-Dienst und in IIS AD FS AppPool aktualisiert wird.

  7. Überprüfen Sie, ob sich das AD FS-Dienstkonto in der lokalen Admin Gruppe befindet. Um potenzielle Probleme zu vermeiden, gewähren Sie dem AD FS-Dienstkonto lokale Administratorrechte.

Schritt 4: Aktualisieren des AD FS-Diensts auf die neueste Version

Überprüfen Sie, ob die folgenden Updates installiert sind. Falls nicht, installieren Sie sie.

Schritt 5: Beheben eines zeitweiligen AD FS-Dienstfehlers

Wenn ein zeitweiliger AD FS-Dienstfehler auftritt, überprüfen Sie, ob das Problem nach dem Anwenden des Sicherheitsupdates 2894844 gestartet wurde. In einem solchen Fall schlägt AD FS fehl und generiert eine Referenznummer, wenn über ein externes Netzwerk oder eine formularbasierte Kommunikation darauf zugegriffen wird.

Wenn das Problem nach dem Anwenden des Sicherheitsupdates 2894844 gestartet wurde, tritt möglicherweise das Problem auf, das im Abschnitt Ursache 1: Die Webanwendung wird in einer Farm (Umgebung mit mehreren Servern) unter Beheben von Fehlern mit Authentifizierungscode (MAC) für ansichtszustandsmeldungen beschrieben wird.

Um dieses Problem zu beheben, legen Sie denselben statischen Computerschlüssel auf allen AD FS-Servern und dem AD FS-Proxy fest:

  1. Suchen Sie im IIS-Manager den Ordner adfs/ls, und öffnen Sie ihn.
  2. Klicken Sie im Abschnitt ASP.NET auf Computerschlüssel.
  3. Deaktivieren Sie die Kontrollkästchen Zur Laufzeit automatisch generieren und Eindeutigen Schlüssel für jede Anwendung generieren für den Validierungsschlüssel und den Entschlüsselungsschlüssel .
  4. Klicken Sie auf Schlüssel generieren.
  5. Klicken Sie auf Anwenden.
  6. Kopieren Sie die Validierungs- und Entschlüsselungsschlüssel vom ersten AD FS-Server, und fügen Sie diese Schlüssel dann auf allen anderen Servern ein.

Schritt 6: Stellen Sie sicher, dass die ADFS-Dienstkommunikations-, Tokensignatur- und Tokenentschlüsselungszertifikate ordnungsgemäß konfiguriert sind.

Weitere Informationen finden Sie unter ADFS 2.0-Zertifikatfehler: Fehler beim Erstellen der Zertifikatkette.