Dienst, der für die Verwendung des gMSA-Kontos auf einem Windows Server 2012 R2-basierten DC nicht gestartet wird

In diesem Artikel wird ein Problem behoben, bei dem der Dienst nicht gestartet werden kann, wenn der Dienst für die Verwendung des gMSA-Kontos auf einem Windows Server 2012 R2-basierten Domänencontroller (DC) konfiguriert ist.

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

Problembeschreibung

Sie verfügen über einen Computer, der alle folgenden Bedingungen erfüllt:

  • Der Computer ist ein Active Directory-Domänencontroller.
  • Auf dem Computer werden mindestens ein Dienst ausgeführt, der für die Verwendung eines gruppenverwalteten Dienstkontos (Group Managed Service Account, gMSA) konfiguriert ist.
  • Diese Dienste haben den Starttyp "Automatischer" oder "Verzögerter Start".
    Auf diesem Computer treten möglicherweise eines oder mehrere der folgenden Symptome auf:
  • Dienste, die gMSA verwenden, werden nicht ordnungsgemäß gestartet.
  • Computerstart und Benutzeranmeldung sind langsam oder frieren ein.
  • Alle Anwendungen oder Dienste, die auf dem Computer ausgeführt werden, der mit dem Dienststeuerungs-Manager (SCM) interagieren muss, friert ein.

Lösung

Wenden Sie eine der folgenden Methoden an, um dieses Problem zu umgehen:

  • Konfigurieren Sie den Starttyp des Microsoft Key Distribution Service (KdsSvc) auf Automatisch anstelle von Triggerstart.
  • Ändern Sie den Trigger für den Microsoft Key Distribution Service (KdsSvc), um den Dienst zu starten, sobald das Netzwerk verfügbar ist, indem Sie den folgenden Befehl verwenden:
    sc triggerinfo kdssvc start/networkon

Weitere Informationen

Dieses Problem wird durch einen Codefehler in Microsoft-Komponenten verursacht. Im Folgenden wird erläutert, wie das Problem auftritt:

  1. Während des Starts listet Windows alle automatischen Dienste auf und versucht, sie zu starten.
  2. Wenn Windows versucht, einen Dienst zu starten, der für die Verwendung eines gruppenverwalteten Dienstkontos (Group Managed Service Account, gMSA) konfiguriert ist, versucht der Dienststeuerungs-Manager (Service Control Manager, SCM), sich mithilfe der Kontoinformationen für den Dienst anzumelden.
  3. Die Anmeldeanforderung wird an den lokalen Sicherheitsautoritätsprozess (lsass.exe, LSASS) gesendet, der auf dem Computer ausgeführt wird.
  4. LSASS empfängt die Anforderung. Während der Verarbeitung der Anforderung versucht LSASS, eine LDAP-Suche (Lightweight Directory Access Protocol) nach dem Attribut msDS-ManagedPassword durchzuführen.
  5. Wenn die LDAP-Anforderung auf einem Domänencontroller ausgeführt wird, kann die LDAP-Abfrage an den lokalen Server zurückgesendet werden, wo sie von einem anderen Thread in LSASS verarbeitet wird. Dabei handelt es sich um denselben Prozess, der die Abfrage ausgestellt hat.
  6. Der LDAP-Serverthread ruft den Microsoft Key Distribution Service Provider (kdscli.dll) auf, wo er versucht, Serverkomponenten zu finden: Microsoft Key Distribution Service (KdsSvc), RPC-Endpunkt aus dem RPC-Endpunktzuordnungs-Mapper (EPM).
  7. Da der KdsSvc-Dienst so festgelegt ist, dass er ausgelöst wird, sobald eine dieser RPC-Abfragen auftritt, sollte der Dienst (theoretisch) gestartet werden. Da der SCM jedoch derzeit am Starten eines Diensts blockiert ist und nur jeweils einen Dienst starten kann, wird KdsSvc nie gestartet, und SCM bleibt hängen.