Udostępnij za pośrednictwem


Nie można uruchomić usługi AD FS 2.0

Ten artykuł zawiera kroki rozwiązywania problemów z konfiguracją i uruchamianiem usługi ADFS.

Oryginalny numer KB: 3044973

Podsumowanie

Większość problemów z usługą ADFS 2.0 należy do jednej z następujących głównych kategorii. Ten artykuł zawiera instrukcje krok po kroku dotyczące rozwiązywania problemów z usługą ADFS.

Symptomy

  • Usługa AD FS nie jest uruchamiana.

  • Usługa AD FS jest uruchamiana, ale następujące błędy są rejestrowane w dzienniku administratora usług AD FS po ponownym uruchomieniu:

    • Identyfikator zdarzenia: 220
      Nie można poprawnie załadować konfiguracji usługi federacyjnej z bazy danych konfiguracji usług AD FS.
    • Identyfikator zdarzenia: 352
      Operacja programu SQL Server w bazie danych konfiguracji usług AD FS z parametry połączenia %1 nie powiodła się.
    • Identyfikator zdarzenia: 102
      Wystąpił błąd podczas włączania punktów końcowych usługi federacyjnej.

Rozwiązanie

Aby rozwiązać ten problem, wykonaj następujące kroki w podanej kolejności. Te kroki pomogą Ci określić przyczynę problemu. Upewnij się, że sprawdzasz, czy problem został rozwiązany po każdym kroku.

Krok 1. Sprawdzanie, czy usługa AD FS upłynął limit czasu podczas uruchamiania

Jeśli usługa AD FS upłynął limit czasu podczas próby uruchomienia, zostanie wyświetlony następujący komunikat o błędzie:

Usługa nie odpowiedziała na żądanie uruchomienia lub kontroli w odpowiednim czasie.

Naprawianie czasu usługi AD FS

Zmień dane wartości dla wartości DworD ServicesPipeTimeout na 60000 w kluczu sterowania . W tym celu wykonaj następujące kroki:

  1. Na serwerze usług AD FS otwórz Edytor rejestru.

  2. Znajdź, a następnie kliknij następujący klucz rejestru:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet

  3. Kliknij podklucz Kontrolka.

  4. Kliknij prawym przyciskiem myszy wartość ServicesPipeTimeout DWORD, a następnie kliknij polecenie Modyfikuj. Jeśli nie ma wartości ServicesPipeTimeout , utwórz ją.

  5. Kliknij pozycję Dziesiętne.

  6. Wpisz 60000, a następnie kliknij przycisk OK. Aby uzyskać więcej informacji na temat tego błędu przekroczenia limitu czasu, zobacz AD FS 2.0: Usługa kończy się niepowodzeniem: "Usługa nie odpowiedziała na żądanie uruchamiania lub sterowania w odpowiednim czasie".

Krok 2. Sprawdzanie, czy baza danych konfiguracji usług AD FS jest uruchomiona

  • Jeśli używasz wewnętrzna baza danych systemu Windows (WID) jako bazy danych konfiguracji usług AD FS, otwórz plik services.msc i sprawdź, czy usługa wewnętrzna baza danych systemu Windows jest uruchomiona.

  • Jeśli używasz usługi SQL Server jako bazy danych konfiguracji usług AD FS, otwórz plik services.msc. Sprawdź, czy usługa PROGRAMU SQL Server jest uruchomiona. Możesz również utworzyć plik Test.udl i wypełnić parametry połączenia, aby przetestować łączność z programem Microsoft SQL Server.

Jak rozwiązać problem

Otwórz plik Services.msc, a następnie uruchom usługę wewnętrzna baza danych systemu Windows lub usługę PROGRAMU SQL Server.

W przypadku serwera usług AD FS, który używa programu SQL Server jako bazy danych konfiguracji, należy również sprawdzić dwa ustawienia zabezpieczeń w następujący sposób:

  1. Nawiąż połączenie z serwerem z uruchomionym programem SQL Server przy użyciu programu SQL Management Studio.

  2. Sprawdź, czy tożsamość usługi AD FS 2.0 systemu Windows istnieje w konsoli programu SQL Server w węźle Identyfikatory logowania zabezpieczeń>. Jeśli tak nie jest, dodaj go.

  3. Sprawdź, czy tożsamość usługi AD FS 2.0 systemu Windows istnieje w obszarze Bazy danych>AdfsConfiguration>Security>Users i czy jest właścicielem schematu IdentityServerPolicy. Jeśli tak nie jest, dodaj go.

Krok 3. Sprawdzanie konta usługi AD FS

  1. Sprawdź, czy usługa AD FS i pula aplikacji usług IIS są uruchomione na prawidłowym koncie usługi. Jeśli zmieniono hasło konta usługi, upewnij się, że nowe hasło zostało zaktualizowane w usłudze AD FS i w puli aplikacji usług IIS.

    1. Otwórz plik Services.msc, kliknij prawym przyciskiem myszy usługę AD FS 2.0, a następnie kliknij polecenie Właściwości. Na karcie Logowanie upewnij się, że nowe konto usługi AD FS jest wymienione w polu To konto.

    2. Otwórz Menedżera usług IIS, przejdź do pozycji Pule aplikacji, kliknij prawym przyciskiem myszy pozycję ADFSAppPool, a następnie kliknij pozycję Ustawienia zaawansowane. W sekcji Model przetwarzania upewnij się, że nowe konto usługi AD FS jest wyświetlane jako Tożsamość.

  2. Sprawdź, czy konto usługi ma wystarczające uprawnienia w bazie danych usług AD FS. Jeśli zmieniono konto usługi, w ramach którego działa usługa ADFS, należy się martwić o uprawnienie.

    Jeśli używasz programu SQL Server jako serwera konfiguracji, wykonaj następujące kroki, aby zresetować uprawnienie dla konta usługi:

    1. W wierszu polecenia uruchom następujące polecenie:

      fsconfig.exe /CreateSQLScripts /ServiceAccount <ADFS service account> /ScriptDestinationFolder <path to create scripts>
      
    2. Skopiuj skrypt utworzony na serwer z uruchomionym programem SQL Server.

    3. Uruchom skrypt na serwerze.

  3. Sprawdź, czy konto usługi ma uprawnienia do odczytu i modyfikowania w kontenerze udostępniania certyfikatów (CN=<GUID,CN>=ADFS,CN=Microsoft,CN=Program Data,DC=<Domain,DC>=<COM>).

    1. Na kontrolerze domeny otwórz plik ADSIEDIT.msc.

    2. Połącz się z domyślnym kontekstem nazewnictwa.

    3. Przejdź do folderu CN=<GUID,CN>=ADFS,CN=Microsoft,CN=Program Data,DC=<Domain,DC>=<COM>. Przykładem identyfikatora GUID jest 62b8a5cb-5d16-4b13-b616-06caea706ada.

    4. Kliknij prawym przyciskiem myszy identyfikator GUID, a następnie kliknij polecenie Właściwości. Jeśli istnieje więcej niż jeden identyfikator GUID, wykonaj następujące kroki, aby znaleźć identyfikator GUID serwera z uruchomioną usługą AD FS.

      1. Na serwerze z uruchomioną usługą AD FS uruchom program Windows PowerShell.

      2. Uruchom następujące polecenia:

        Add-PSSnapin microsoft.adfs.powershell
        
        Get-ADFSProperties
        
      3. Identyfikator GUID jest wyświetlany w obszarze CertificateShareingContainer.

  4. Sprawdź, czy nowe konto usługi ma uprawnienie odczyt do klucza prywatnego certyfikatu komunikacji usług AD FS.

    1. Utwórz program Microsoft Management Console (MMC) przy użyciu przystawki Certyfikaty, która jest przeznaczona dla magazynu certyfikatów komputera lokalnego.
    2. Rozwiń węzeł MMC, a następnie wybierz pozycję Zarządzaj kluczami prywatnymi.
    3. Na karcie Zabezpieczenia dodaj konto usługi AD FS i przyznaj uprawnienie Odczyt do tego konta.
  5. Sprawdź, czy nazwa główna usługi AD FS (SPN) HOST/ADFSServiceName została dodana na koncie usługi i została usunięta z poprzedniego konta (w przypadku zmiany konta usługi).

    1. Kliknij prawym przyciskiem myszy pozycję Wiersz polecenia, a następnie kliknij polecenie Uruchom jako administrator.
    2. Wpisz SetSPN -f -q host/ <Federation service name>, a następnie naciśnij klawisz Enter.

    W tym poleceniu <nazwa> usługi federacyjnej reprezentuje w pełni kwalifikowaną nazwę usługi (FQDN) punktu końcowego usługi AD FS. Nazwę usługi można znaleźć w oknie dialogowym Właściwości usługi federacyjnej:

    Zrzut ekranu przedstawiający okno Właściwości usługi federacyjnej z nazwą usługi federacyjnej.

    Aby dodać lub usunąć nazwę SPN z konta, wykonaj następujące kroki:

    1. Na kontrolerze domeny otwórz plik ADSIEDIT.msc.

    2. Połącz się z domyślnym kontekstem nazewnictwa.

    3. Rozwiń kolejno pozycje CN=Users,CN=Microsoft,CN=Program Data,DC=<Domain,DC>=<COM>.

    4. Znajdź konto usługi. Kliknij prawym przyciskiem myszy konto usługi, a następnie kliknij polecenie Właściwości.

    5. Znajdź atrybut servicePrincipalName, a następnie kliknij przycisk Edytuj.

    6. Dodaj lub usuń nazwę SPN usługi AD FS. Oto przykład nazwy SPN usługi AD FS:

      HOST/newadfs.contoso.com

  6. Jeśli zmienisz hasło konta usługi, upewnij się, że nowe hasło zostało zaktualizowane w usłudze AD FS i w puli aplikacji usług AD FS usług IIS.

  7. Sprawdź, czy konto usługi AD FS znajduje się w lokalnej grupie administratorów. Aby uniknąć potencjalnych problemów, przyznaj uprawnienia administratora lokalnego konta usługi AD FS.

Krok 4. Aktualizowanie usługi AD FS do najnowszej wersji

Sprawdź, czy są zainstalowane następujące aktualizacje. Jeśli tak nie jest, zainstaluj je.

Krok 5. Naprawienie sporadycznych błędów usługi AD FS

Jeśli wystąpi sporadyczne niepowodzenie usługi AD FS, sprawdź, czy problem został uruchomiony po zastosowaniu 2894844 aktualizacji zabezpieczeń. W takiej sytuacji usługi AD FS kończą się niepowodzeniem i generuje numer referencyjny, gdy jest uzyskiwany dostęp z sieci zewnętrznej lub za pośrednictwem komunikacji opartej na formularzach.

Jeśli problem został uruchomiony po zastosowaniu 2894844 aktualizacji zabezpieczeń, może wystąpić problem opisany w sekcji Przyczyna 1: Aplikacja internetowa działa w farmie (środowisko wieloserwerowe) w sekcji Rozwiązywanie błędów kodu uwierzytelniania komunikatów o stanie (MAC).

Aby rozwiązać ten problem, ustaw ten sam klucz maszyny statycznej na wszystkich serwerach usług AD FS i serwerze proxy usług AD FS:

  1. W Menedżerze usług IIS znajdź i otwórz folder adfs/ls.
  2. W sekcji ASP.NET kliknij pozycję Klucz komputera.
  3. Wyczyść pola wyboru Automatycznie wygeneruj w czasie wykonywania i Wygeneruj unikatowy klucz dla każdej aplikacji zarówno dla klucza weryfikacji , jak i klucza odszyfrowywania .
  4. Kliknij pozycję Generuj klucze.
  5. Kliknij Zastosuj.
  6. Skopiuj klucze weryfikacji i odszyfrowywania z pierwszego serwera usług AD FS, a następnie wklej te klucze do wszystkich pozostałych serwerów.

Krok 6. Upewnij się, że certyfikaty usługi ADFS, podpisywania tokenów i odszyfrowywania tokenów są poprawnie skonfigurowane

Aby uzyskać więcej informacji, zobacz Błąd certyfikatu usługi ADFS 2.0: Wystąpił błąd podczas próby skompilowania łańcucha certyfikatów.