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ı"