Na het toevoegen van een computer of een gebruikersaccount aan een Active Directory (AD)-beveiligingsgroep, is een veelvoorkomend probleem dat de nieuwe machtigingen of GPO’s niet direct van kracht worden. Je moet iets doen om de instellingen te vernieuwen. Meestal is een herstart of afmelden de oplossing, maar soms is dat niet mogelijk of komt het niet goed uit. In dat geval kunnen een paar trucjes met Kerberos-tickets en opdrachtregelprogramma’s van pas komen. Ze zijn niet perfect of altijd waterdicht, maar in de meeste gevallen lossen ze het probleem op zonder een volledige herstart. Houd er wel rekening mee dat dit voornamelijk werkt met services en applicaties die afhankelijk zijn van Kerberos, niet van NTLM. Dus als er zich nog steeds problemen voordoen, moet je mogelijk uiteindelijk toch herstarten of afmelden. Toch is het het proberen waard als je wilt voorkomen dat je constant moet herstarten.
Computergroepslidmaatschap en Kerberos-ticket bijwerken zonder opnieuw op te starten
Het zit zo: wanneer je een computer aan een groep toevoegt, geeft het systeem Kerberos-tickets uit die de groepsgegevens opslaan. Deze tickets worden niet automatisch bijgewerkt; ze zijn gekoppeld aan het ticketverleningsproces dat plaatsvindt wanneer de machine opstart of wanneer je inlogt. Om de gegevens te vernieuwen, moet je deze tickets wissen en je beleid bijwerken. Dit is vooral handig als je meerdere pc’s op afstand of via VPN beheert, waarbij opnieuw opstarten niet handig is.
Controleer eerst tot welke groepen de machine zichzelf rekent. Voer hiervoor de volgende opdracht uit in een opdrachtprompt met beheerdersrechten:
gpresult /r /scope computer
Hier worden alle beveiligingsgroepen van de computer weergegeven. Om de Kerberos-tickets te bekijken die de computer bezit, doet u het volgende:
klist.exe -li 0x3e7
Opmerking: 0x3e7 komt overeen met de lokale SYSTEM-sessie. Deze is hier nodig omdat Windows de cache van het lokale systeem apart behandelt.
Laten we vervolgens uw computer toevoegen aan de nieuwe AD-groep, via Active Directory-gebruikers en -computers of PowerShell:
Add-ADGroupMember -Identity "YourGroupName" -Members wks-mns21$
Vervang `”YourGroupName”` door uw daadwerkelijke groepsnaam en `”wks-mns21$”` door de hostnaam of het account van uw machine. Nu volgt een snelle opschoning van tickets:
klist -lh 0 -li 0x3e7 purge
Voor Windows 7 / Server 2008 R2 kan deze opdracht er iets anders uitzien, maar op de meeste moderne Windows 10/11/Server 2016+ machines gebruikt u gewoon:
klist --li 0x3e7 purge
Dit verwijdert alle Kerberos-tickets, waardoor de machine bij de volgende toegang nieuwe tickets aanvraagt. Voer daarna het volgende commando uit:
gpupdate /force
Hiermee worden de nieuwste groepsbeleidsinstellingen doorgevoerd zonder de computer opnieuw op te starten. Als alles goed gaat, zouden de beleidsregels die aan die groep zijn gekoppeld, moeten worden toegepast en zou het nieuwe groepslidmaatschap zichtbaar moeten zijn.
Als je een foutmelding krijgt zoals “Current LogonId is…” of vastloopt, moet je de opdracht mogelijk als SYSTEM uitvoeren. Dit kun je doen met PsExec, een onderdeel van Sysinternals.
psexec -s -i -d cmd.exe
Voer vervolgens de klist purgecommando gpupdate /force’s uit binnen die SYSTEM-context. Dat is een beetje een trucje, maar het helpt vaak als normale beheerdersrechten niet werken.
Deze methode is een redder in nood voor clients op afstand of via VPN verbonden, waar herstarten geen optie is, maar updates snel moeten worden toegepast.
Vernieuw het lidmaatschap van gebruikersgroepen zonder uit te loggen.
Het toevoegen van iemand aan een beveiligingsgroep wordt pas van kracht nadat die persoon zich heeft afgemeld en opnieuw heeft aangemeld. Typisch Windows. Maar als je de groepen in een actieve sessie wilt bijwerken zonder de gebruiker te hoeven afmelden, kun je ook de Kerberos-tickets van de gebruiker verwijderen. Dit is vooral handig als je net een gebruiker hebt toegevoegd aan een Active Directory-groep die toegang verleent tot gedeelde resources.
Open een opdrachtprompt als die gebruiker — geen beheerdersmodus, gewoon een normale shell. Voer het volgende commando uit:
klist purge
Hiermee worden alle Kerberos-tickets gewist, inclusief groepslidmaatschappen, waardoor de volgende aanvraag wordt uitgevoerd. Om de nieuwe groepslidmaatschappen te bekijken, opent u een nieuw opdrachtvenster met de bijgewerkte tokens:
runas /user:DOMAIN\username cmd
Geef vervolgens een lijst van groepen met:
whoami /groups
Als u zich in een omgeving bevindt met Remote Desktop (RDS)-sessies, kunt u dit op afstand voor alle gebruikers doen met PowerShell:
Get-WmiObject Win32_LogonSession | Where-Object {$_. AuthenticationPackage -ne 'NTLM'} | ForEach-Object {klist.exe purge -li ([Convert]::ToString($_. LogonId, 16))}
Maar om de machtigingen direct te laten doorwerken, moet u mogelijk het Verkenner-proces voor die gebruiker (of elke RDS-sessie) opnieuw starten.
- Open de opdrachtprompt.
- Dood ontdekkingsreiziger:
taskkill /f /im explorer.exe - Start een nieuwe Explorer-instantie met dezelfde inloggegevens:
runas /user:DOMAIN\username explorer.exe - Log in met het wachtwoord zoals gebruikelijk.
Dit is een beetje omslachtig, maar het is vaak de enige manier om het token in actieve sessies te vernieuwen.
En nog even een waarschuwing: als je een korte servernaam gebruikt (zoals \\SERVER\Sharing ) en vervolgens overschakelt naar een FQDN ( \\server.company.local\Sharing ), worden er andere Kerberos-tickets uitgegeven. Het gebruik van NetBIOS-namen kan soms helpen om de groepsgegevens sneller te resetten. Nadat je de tickets hebt gewist, probeer je de share te openen via de korte naam in plaats van de FQDN om een nieuwe ticketuitgifte af te dwingen.
Om te controleren of uw tickets nog geldig zijn, kunt u de TGT raadplegen met:
klist tgt
Als alle tickets de huidige starttijd hebben, zou je de bijgewerkte groepslidmaatschappen moeten zien. Op die manier worden de nieuwe machtigingen van kracht zonder dat je volledig hoeft uit te loggen of de computer opnieuw hoeft op te starten.
Het is niet 100% waterdicht, maar in veel gevallen zorgt deze aanpak ervoor dat alles soepel blijft draaien totdat een herstart absoluut onvermijdelijk is.
Samenvatting
- Gebruik deze functie
klist.exeom Kerberos-tickets te verwijderen zonder de computer opnieuw op te starten. - Voer dit
gpupdate /forcena het opschonen uit om de nieuwe GPO’s toe te passen. - Voor het vernieuwen van een gebruikersgroep, verwijder de sessietickets en open een nieuwe commandosessie.
- Houd er rekening mee dat NTLM-services nog steeds moeten worden afgemeld/opnieuw opgestart om tokens bij te werken.
Samenvatting
Het bijwerken van groepslidmaatschappen in actieve omgevingen is een beetje een grijs gebied binnen Windows-beheer — het zou niet zo ingewikkeld moeten zijn, maar helaas is dat niet altijd het geval. Deze trucs via de opdrachtregel kunnen veel tijd besparen, vooral bij installaties op afstand of wanneer herstarten niet praktisch is. Houd er wel rekening mee dat als iets niet meteen wordt bijgewerkt, een herstart alsnog de laatste oplossing kan zijn. Hopelijk helpen deze tips je echter voldoende om dat elke keer te voorkomen.