Kilitlenen Kullanıcılar ve Kaynağını Bulma – Locked-Out Users And Finding Source

Active Directory üzerinde kilitlenen kullanıcılar için tüm domain controller üzerindeki Securtiy eventID değerlerini tarar ve sonuçları listeler.

This script searches all Domain Controllers and retrieves Event ID 4740 entries for all users from the Security log in Event Viewer.

# Active Directory modülünün yüklü olduğundan emin olun
Import-Module ActiveDirectory

# Tüm Domain Controller listesini alıyoruz
$DCs = Get-ADDomainController -Filter *

$Results = foreach ($DC in $DCs) {
    Write-Host "Taranıyor: $($DC.HostName)..." -ForegroundColor Cyan
    
    try {
        # Event ID 4740: Kullanıcı hesabı kilitlendi olayı
        $LockoutEvents = Get-WinEvent -ComputerName $DC.HostName -FilterHashtable @{
            LogName = 'Security'
            Id      = 4740
        } -ErrorAction SilentlyContinue

        foreach ($Event in $LockoutEvents) {
            # Olay detaylarından kullanıcı ve kaynak bilgisayar bilgisini çekiyoruz
            [PSCustomObject]@{
                Time        = $Event.TimeCreated
                User        = $Event.Properties[0].Value
                Source      = $Event.Properties[1].Value
                DC          = $DC.HostName
            }
        }
    } catch {
        Write-Warning "Bağlanılamadı: $($DC.HostName)"
    }
}
$Results | Sort-Object Time -Descending |
 Out-GridView -Title "Kilitlenen Kullanıcılar ve Kaynakları"