Delen via


De KDS-hoofdsleutel voor sleuteldistributieservices maken

In dit artikel voor IT-professionals wordt beschreven hoe u een microsoft-sleuteldistributieservice (kdssvc.dll) maakt op de domeincontroller met windows PowerShell om wachtwoorden voor het beheerde serviceaccount voor groepen te genereren in Windows Server 2012 of hoger.

Voor domeincontrollers (DC) is een hoofdsleutel vereist om gMSA-wachtwoorden te genereren. De domeincontrollers wachten tot 10 uur vanaf het moment van aanmaak, zodat alle domeincontrollers hun AD-replicatie kunnen voltooien voordat de aanmaak van een gMSA is toegestaan. Het wachten tot 10 uur is een veiligheidsmaatregel om te voorkomen dat wachtwoordgeneratie plaatsvindt voordat alle DC's in de omgeving gMSA-aanvragen kunnen beantwoorden. Het gebruik van een gMSA kan te snel mislukken wanneer de gMSA-host probeert het wachtwoord op te halen, omdat de sleutel mogelijk niet is gerepliceerd naar alle domeincontrollers. gMSA-fouten bij het ophalen van wachtwoorden kunnen ook optreden bij het gebruik van DC's met beperkte replicatieschema's of als er een replicatieprobleem is.

Notitie

Het verwijderen en opnieuw maken van de hoofdsleutel kan leiden tot problemen waarbij de oude sleutel na verwijdering nog steeds wordt gebruikt vanwege caching van de sleutel. De KDC (Key Distribution Service) moet opnieuw worden gestart op alle domeincontrollers als de hoofdsleutel opnieuw wordt gemaakt.

Lidmaatschap van de Domeinadministratoren of Ondernemingsadministratoren groepen, of gelijkwaardig, is de minimale vereiste om deze procedure te voltooien. Zie Lokale en domeinstandaardgroepenvoor gedetailleerde informatie over het gebruik van de juiste accounts en groepslidmaatschappen.

Notitie

Een 64-bits architectuur is vereist voor het uitvoeren van de Windows PowerShell-opdrachten die worden gebruikt voor het beheren van beheerde serviceaccounts voor groepen.

De KDS-hoofdsleutel maken met behulp van de Add-KdsRootKey-cmdlet

  1. Voer op de domeincontroller Windows Server 2012 of hoger de Windows PowerShell uit vanaf de taakbalk.

  2. Typ bij de opdrachtprompt voor de Windows PowerShell Active Directory-module de volgende opdrachten en druk op Enter:

    Add-KdsRootKey -MeteenEffectief

    Hint

    De parameter Effectieve tijd kan worden gebruikt om sleutels de tijd te geven om naar alle DC's te worden verspreid voordat ze worden gebruikt. Door gebruik te maken van Add-KdsRootKey -EffectiveImmediately wordt een hoofdsleutel aan de doeldomeincontroller toegevoegd, die onmiddellijk door de KDS-service wordt gebruikt. Andere domeincontrollers kunnen de hoofdsleutel echter pas gebruiken als de replicatie is geslaagd.

KDS-hoofdsleutels worden opgeslagen in Active Directory in container CN=Master Root Keys,CN=Group Key Distribution Service,CN=Services,CN=Configuration,DC=<forest name>;. Ze hebben een kenmerk msKds-DomainID dat is gekoppeld aan het computeraccount van de domeincontroller die het object heeft gemaakt. Wanneer deze domeincontroller wordt gedegradeerd en verwijderd uit het domein, zal de waarde verwijzen naar de 'tombstone' van het computeraccount. U kunt de verbroken waarde negeren omdat deze alleen wordt gebruikt om de beheerder te helpen het object bij te houden wanneer het nieuw is gemaakt. U kunt ook de kenmerkwaarde wijzigen en deze naar het computerobject van een andere domeincontroller in uw forest laten wijzen.

Voor testomgevingen met slechts één DC kunt u een KDS-hoofdsleutel maken en de begintijd in het verleden instellen om te voorkomen dat het interval wacht op het genereren van sleutels met behulp van de volgende procedure. Controleer of een 4004-gebeurtenis is vastgelegd in het KDS-gebeurtenislogboek.

De KDS-hoofdsleutel maken in een testomgeving voor onmiddellijke effectiviteit

  1. Voer op de domeincontroller Windows Server 2012 of hoger de Windows PowerShell uit vanaf de taakbalk.

  2. Typ bij de opdrachtprompt voor de Windows PowerShell Active Directory-module de volgende opdrachten en druk op Enter:

    $a=Datum ophalen

    $b=$a.AddHours(-10)

    Add-KdsRootKey -EffectiveTime $b

    Of gebruik één opdracht

    Add-KdsRootKey -EffectiveTime ((get-date).addhours(-10))

Zie ook

Aan de slag met door groepen beheerde serviceaccounts