Hur man hittar källan till kontoutelåsning med hjälp av PowerShell och ADAudit Plus

En av de största utmaningarna för IT-administratörer är att spåra källan till en kontoutelåsning. Du kan alltid få denna information med hjälp av Windows PowerShell men det kommer att vara en komplicerad process. Alternativt kan du använda ett heltäckande AD-granskningsverktyg som ADAudit Plus för att uppnå detta mål.

Denna artikel jämför hur du kan spåra källan till en kontoutelåsning med hjälp av Windows PowerShell och ADAudit Plus:

PowerShell

Steg att ta för att erhålla källan till en kontoutelåsning med PowerShell:

  • Identifiera den domän som du vill hämta rapporten från.
  • Identifiera de LDAP-attribut du behöver för att hämta rapporterna.
  • Identifiera den primära DC:n för att hämta rapporten.
  • Kompilera skriptet.
  • Kör den i Windows PowerShell
  • Rapporten kommer att exporteras i angivet format.
  • För att erhålla rapporten i ett annat format modifierar du skriptet efter användarens behov.

Exempel på Windows PowerShell-skript

#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 {} }
 Kopierad
Klicka för att kopiera hela skriptet

ADAudit Plus

För att få rapporten,

  • Logga in på ADAudit Plus-webbkonsolen.
  • Navigera till rapporter -> Användarhantering -> Analysverktyg för kontoutelåsning
  • I listrutan "Domän" väljer du antingen den obligatoriska domänen eller väljer "Alla domäner".
  • Använd alternativet "Sök" för att filtrera efter specifikt användarnamn, eller domänkontrollant, vid behov.
  • Erhåll en lista med alla kontoutelåsningar för en valfri tidsperiod.
    powershell-account- locked-out-source-1
  • Välj "Detaljer om analysverktyg" för att få detaljerade uppgifter om källan till en viss utelåsning.
    powershell-account- locked-out-source-2
  • Granska de resultat som ADAudit Plus ger dig: En analys av olika komponenter som kan vara källan till en kontoutelåsning.
 

Det följande är begränsningarna vid användning av PowerShell för att spåra källan till en kontoutelåsning:

  • Vi kan endast köra detta skript från datorerna som har rollen Domäntjänster i Active Directory.
  • Om du vill ändra datumformat tillämpar du olika tidszoner på resultaten och om du vill exportera rapporten i olika format behöver skriptet modifieras.
  • Att tillämpa fler filter, som t.ex. "Under kontorstider" kommer att öka LDAP-frågans komplexitet.

Däremot kommer ADAudit Plus att skanna alla DC:er i domänen för att hämta information om den troliga källan till en kontoutelåsning i form av en intuitiv rapport. IT-administratörer kan använda denna information för att undersöka och lösa problemet.

Relaterade resurser