Doen de gebruikers in jouw organisatie ooit hun wachtwoorden vergeten? Vast niet! Heeft een gebruiker van het Active Directory zijn account vergrendeld? Geen sprake van! Laten we eens kijken wat we kunnen doen om vergrendelde gebruikers te vinden in het Active Directory met PowerShell!
Stop met worstelen met oproepen voor wachtwoordreset en accountvergrendelingen in het Active Directory. Ontvang een GRATIS proefversie van Specops uReset.
Is jouw netwerk ooit geïnfecteerd geweest met malware die probeert te authenticeren met zoveel mogelijk domeingebruikersaccounts? Hopelijk niet, maar ik heb het een paar keer zien gebeuren. Gebruikers en wormen zijn slechts twee van de redenen waarom een of meer AD-accounts vergrendeld kunnen raken. Afhankelijk van jouw wachtwoordbeleid kunnen vergrendelingen dagelijks voorkomen of slechts af en toe gebeuren.
Ongeacht de reden of situatie, hebben accountvergrendelingen invloed op jouw gebruikers. Omdat ze bijna alles afhankelijk zijn van hun Active Directory-domeinaccount, zullen ze het meteen opmerken wanneer het vergrendeld is. Het account kan opnieuw worden ingeschakeld door jouw helpdesk, maar wat als het opnieuw gebeurt? … en opnieuw. … en opnieuw. Het achterhalen van de oorzaak van dit probleem is belangrijk.
Een manier om dit te doen is door PowerShell en de ActiveDirectory-module te gebruiken. Door het Search-AdAccount
-cmdlet te gebruiken binnen de Active Directory-module, kunt u eenvoudig alle accounts opsporen die momenteel vergrendeld zijn in uw domein.
Gerelateerd: Hoe de Active Directory PowerShell-module te installeren
Vergrendelde gebruikers vinden in Active Directory met PowerShell
Om vergrendelde accounts te zoeken, kunt u het Search-AdAccount
-commando uitvoeren met de LockedOut
-parameter. Dit zal alle gebruikers teruggeven die momenteel vergrendeld zijn, mits u het recht hebt om dat te zien.
Dit commando is geweldig, maar wat als u een account hebt dat voortdurend wordt vergrendeld en u moet achterhalen vanaf welk systeem dit gebeurt? Dit is een veelvoorkomende taak wanneer u ergens in uw netwerk een malware-infectie heeft of misschien wanneer u een vergeetachtige beheerder hebt die vergeten is uit te loggen bij een extern bureaublad. Dat is toch nooit gebeurd, toch?
Om de bron van een Active Directory-vergrendeling te vinden, moet u eerst controleren of u de juiste domeincontroller bevraagt. In dit geval is dit de domeincontroller met de PDC-emulatorrol.
Vind de PDCe-rolhouder
Alle wachtwoordverificaties zullen naar dit DC komen dat de PDCe-rol heeft, dus het is altijd de beste plek om te controleren. Om de domeincontroller met de PDCe-rol te vinden, kunt u de eigenschap \texttt{PDCEmulator} controleren die wordt geretourneerd vanuit de \texttt{Get-ADDomain}-cmdlet.
Het doorzoeken van het gebeurtenislogboek voor vergrendelingen
Zodra u de DC hebt die de PDCe-rol heeft, moet u vervolgens het beveiligingsgebeurtenislogboek (beveiligingslogboeken) van deze DC bevragen voor gebeurtenis-ID 4740. Gebeurtenis-ID 4740 is de gebeurtenis die wordt geregistreerd telkens wanneer een account wordt vergrendeld. Doe dit met behulp van de \texttt{Get-WinEvent}-cmdlet.
U bent nu veel dichter bij het vinden van die vergrendelde gebruikers in Active Directory met PowerShell!
De gebruikersnaam en locatie ontleden
Dit zal alle vergrendelingsgebeurtenissen teruggeven, maar toont niet onmiddellijk de gebruikersnamen en computers waarop de vergrendeling is uitgevoerd. Om de gebruikersnaam te vinden, moet u iets dieper ingaan op een eigenschap die \texttt{Get-WinEvent} retourneert, genaamd \texttt{Properties}.
U kunt zien dat ik de hashtablefilter heb verplaatst om codeomslag te voorkomen en, nog belangrijker, \texttt{Select-Object}’s berekende eigenschappen heb gebruikt om de gebruikersnaam en computernaam uit de \texttt{Properties}-eigenschap te halen. In elk van deze gebeurtenissen is de gebruikersnaam die vergrendeld was altijd het eerste element in de \texttt{Properties}-array terwijl het tweede element altijd de computernaam is waarop de vergrendeling is uitgevoerd.
Gebruik van PowerShell om AD-accounts te ontgrendelen
Nu je je buitengesloten AD-gebruikers hebt gevonden, hoe ga je te werk om de accounts te ontgrendelen? De ActiveDirectory
-module in PowerShell biedt het Unlock-ADAccount
-commando, waarmee je snel een klant weer aan het werk kunt krijgen. Zoals hieronder getoond, gebruik PowerShell om AD-accounts te ontgrendelen. Dit commando werkt zowel in Windows PowerShell als in PowerShell 7, zodra het is geladen via de ActiveDirectory
-module.
Misschien wil je alle vergrendelde gebruikers in één keer ontgrendelen, gebruik dan de Search-ADAccount
met de -LockedOut
-parameter en leid de resultaten door naar het Unlock-ADAccount
-commando, zoals hieronder getoond.
Verminder oproepen naar de servicedesk & update cache referenties voor externe gebruikers, zelfs buiten VPN, met een zelfbedieningswachtwoordresetoplossing. Vraag een demo aan van Specops uReset!
Samenvatting

Op dit moment moet je in staat zijn om snel alle accounts te identificeren die momenteel vergrendeld zijn in jouw domein, evenals een geschiedenis van alle accountvergrendelingen te bekijken. Nu is het tijd om een serieus gesprek te voeren met Joe over het open laten staan van die RDP-sessies…
Source:
https://adamtheautomator.com/find-locked-out-users-in-active-directory-powershell/