Erstellen des KDS-Stammschlüssels
In diesem Artikel für IT-Experten wird beschrieben, wie ein Microsoft-Schlüsselverteilungsdienst-Stammschlüssel („kdssvc.dll“) auf einem Domänencontroller unter Verwendung der Windows PowerShell zum Generieren von Kennwörtern für das verwaltete Dienstkonto in Windows Server 2012 oder höher erstellt wird.
Domänencontroller (DC) erfordern einen Stammschlüssel, damit das Generieren von gMSA-Kennwörtern gestartet werden kann. Die Domänencontroller warten bis zu zehn Stunden ab der Erstellung, um allen Domänencontrollern zu ermöglichen, ihre AD-Replikation vor der Erstellung eines gMSA zu konvergieren. Bis zu zehn Stunden abzuwarten, ist eine Sicherheitsmaßnahme, um zu verhindern, dass das Kennwort generiert wird, bevor alle Domänencontroller in der Umgebung in der Lage sind, auf gMSA-Anforderungen zu reagieren. Wenn Sie zu früh versuchen, ein gMSA zu verwenden, wurde der Schlüssel möglicherweise noch nicht für alle Domänencontroller repliziert, daher kann das Abrufen des Kennworts fehlschlagen, wenn der gMSA-Host versucht, das Kennwort abzurufen. Fehler beim gMSA-Kennwortabruf können auch auftreten, wenn Domänencontroller mit begrenzten Replikationszeitplänen verwendet werden oder wenn ein Replikationsproblem auftritt.
Hinweis
Das Löschen und erneute Erstellen des Stammschlüssels kann zu Problemen führen, bei denen der alte Schlüssel nach dem Löschen aufgrund des Zwischenspeicherns des Schlüssels weiterhin verwendet wird. Der Schlüsselverteilungsdienst (Key Distribution Service, KDS) sollte nach der Neuerstellung des Stammschlüssels auf allen Domänencontrollern neu gestartet werden.
Sie müssen mindestens Mitglied der Gruppe Domänen-Admins, Organisations-Admins oder einer entsprechenden Gruppe sein, damit Sie dieses Verfahren ausführen können. Detaillierte Informationen zu den geeigneten Konten und Gruppenmitgliedschaften finden Sie unter Lokale und Domänenstandardgruppen.
Hinweis
Zum Ausführen der Windows PowerShell-Befehle ist eine 64-Bit-Architektur erforderlich, die zum Verwalten von gruppenverwalteten Dienstkonten (group Managed Service Accounts, gMSA) verwendet werden.
Führen Sie auf dem Domänencontroller von Windows Server 2012 oder höher die Windows PowerShell über die Taskleiste aus.
Geben Sie an der Befehlszeile für das Windows PowerShell Active Directory-Modul die folgenden Befehle ein, und drücken Sie auf die EINGABETASTE:
Add-KdsRootKey -EffectiveImmediately
Tipp
Der Parameter „Effective time“ kann verwendet werden, um Schlüsseln vor der Verwendung die Zeit zu geben, auf alle Domänencontroller aufgefüllt zu werden. Durch Verwendung von „Add-KdsRootKey -EffectiveImmediately“ wird ein Stammschlüssel zum Zieldomänencontroller hinzugefügt, der sofort durch den KDS-Dienst verwendet wird. Andere Domänencontroller können den Stammschlüssel jedoch erst nach erfolgreicher Replikation verwenden.
KDS-Stammschlüssel werden in Active Directory im Container CN=Master Root Keys,CN=Group Key Distribution Service,CN=Services,CN=Configuration,DC=<forest name>;
gespeichert. Sie verfügen über ein Attribut „msKds-DomainID“, das mit dem Computerkonto des Domänencontrollers verknüpft ist, der das Objekt erstellt hat. Wenn dieser Domänencontroller herabgestuft und aus der Domäne entfernt wird, bezieht sich der Wert auf den Tombstone des Computerkontos. Sie können den fehlerhaften Wert ignorieren, da er nur verwendet wird, um dem Administrator zu helfen, das Objekt nachzuverfolgen, wenn es neu erstellt wurde. Sie können auch den Attributwert ändern und auf das Computerobjekt eines anderen Domänencontrollers in Ihrer Gesamtstruktur verweisen.
Für Testumgebungen mit nur einem Domänencontroller können Sie einen KDS-Stammschlüssel erstellen und die Startzeit in der Vergangenheit festlegen, um zu vermeiden, dass das Intervall auf die Schlüsselgenerierung wartet, indem folgende Vorgehensweise verwendet wird. Überprüfen Sie, ob ein 4004-Ereignis im KDS-Ereignisprotokoll protokolliert wurde.
Führen Sie auf dem Domänencontroller von Windows Server 2012 oder höher die Windows PowerShell über die Taskleiste aus.
Geben Sie an der Befehlszeile für das Windows PowerShell Active Directory-Modul die folgenden Befehle ein, und drücken Sie auf die EINGABETASTE:
$a=Get-Date
$b=$a.AddHours(-10)
Add-KdsRootKey -EffectiveTime $b
Oder verwenden Sie einen einzelnen Befehl:
Add-KdsRootKey -EffectiveTime ((get-date).addhours(-10))