De bron van een accountvergrendeling uitzoeken met PowerShell en ADAudit Plus
Een van de grootste uitdagingen van IT-beheerders, is het traceren van de bron van een accountvergrendeling. U kunt deze informatie altijd verkrijgen met Windows PowerShell, maar dat zou een gecompliceerd proces zijn. U kunt ook een uitgebreid AD-audithulpprogramma, zoals ADAudit Plus, gebruiken om dit doel te bereiken.
Dit artikel vergelijkt hoe u de bron van een accountvergrendeling kunt traceren met Windows PowerShell en ADAudit Plus:
PowerShell
Stappen voor het verkrijgen van de bron van een accountvergrendeling met PowerShell:
- Identificeer het domein waarvan u het rapport wilt ophalen.
- Identificeer de LDAP-kenmerken die u nodig heeft om het rapport op te halen.
- Identificeer de primaire DC voor het ophalen van het rapport.
- Compileer het script.
- Voer het script uit in Windows PowerShell.
- Het rapport wordt geëxporteerd in de gegeven opmaak.
- Om het rapport in een andere opmaak te krijgen, moet u het script aanpassen aan de behoeften van de gebruiker.
Voorbeeld van Windows PowerShell-script
Copied
#requires -Module ActiveDirectory #Import-Module ActiveDirectory -EA Stop Function Get-AccountLockoutStatus { [CmdletBinding()] param( [Parameter( ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true, Position=0)] [string[]] $ComputerName = (Get-ADDomainController -Filter * | select -ExpandProperty Name), [Parameter()] [string] $Username, [Parameter()] [int] $DaysFromToday = 3 ) BEGIN { $Object = @() } PROCESS { Foreach ($Computer in $ComputerName) { try { $EventID = Get-WinEvent -ComputerName $Computer -FilterHashtable @{Logname = 'Security'; ID = 4740; StartTime = (Get-Date).AddDays(-$DaysFromToday)} -EA 0 Foreach ($Event in $EventID) { $Properties = @{Computername = $Computer Time = $Event.TimeCreated Username = $Event.Properties.value[0] CallerComputer = $Event.Properties.value[1] } $Object += New-Object -TypeName PSObject -Property $Properties | Select ComputerName, Username, Time, CallerComputer } } catch { $ErrorMessage = $Computer + " Error: " + $_.Exception.Message } finally { if ($Username) { Write-Output $Object | Where-Object {$_.Username -eq $Username} } else { Write-Output $Object } $Object = $null } } } END {} }
Klik om het gehele script te kopiëren
ADAudit Plus
Voor het verkrijgen van het rapport,
- Meld aan op de webconsole van ADAudit Plus.
- Navigeer naar Rapporten -> Gebruikersbeheer -> Accountvergrendelingsanalyse
- Selecteer het vereiste domein in het vervolgkeuzemenu 'Domein' of selecteer 'Alle domeinen'.
- Gebruik de optie 'Zoeken' om te filteren op specifieke gebruikersnamen, of domeincontroller, indien vereist.
- Verkrijg een lijst van alle accountvergrendelingen voor een periode van uw keuze.
- Selecteer 'Analysedetails' om meer details te verkrijgen over de bron van een specifieke vergrendeling.
- Controleer de resultaten die ADAudit Plus u geeft: Een analyse van de verschillende componenten die de bron kan zijn van een accountvergrendeling.
Hieronder volgen de beperkingen van het gebruik van PowerShell om de bron van een accountvergrendeling te traceren:
- We kunnen dit script alleen uitvoeren vanaf de computers met de rol Active Directory Domain Services.
- Om datumnotaties te wijzigen, past u verschillende tijdzones toe op de resultaten, en om het rapport in verschillende indelingen te exporteren, moet het script worden gewijzigd.
- Door meer filters toe te passen, zoals 'Tijdens kantooruren', wordt de LDAP-query nog complexer.
Anderzijds zal ADAudit snel alle DC's in het domein scannen om informatie over de mogelijke bron van een accountvergrendeling op te halen in de vorm van een intuïtief rapport. IT-beheerders kan deze informatie gebruiken voor het onderzoeken en oplossen van het probleem.