PowerShell ve ADAudit Plus kullanarak hesap kilitleme kaynağının bulunması

BT yöneticilerinin karşılaştığı en büyük zorluklardan biri hesap kilitlemenin kaynağını takip etmektir. Bu bilgileri her zaman Windows PowerShell'i kullanarak alabilirsiniz ancak bu karmaşık bir süreç olacaktır. Alternatif olarak, bu hedefe ulaşmak için ADAudit Plus gibi kapsamlı bir AD denetim aracını kullanabilirsiniz.

Bu makalede, Windows PowerShell ve ADAudit Plus'ı kullanarak hesap kilitlemenin kaynağını takip etme ile ilgili bir karşılaştırma yapılmaktadır:

PowerShell

PowerShell ile hesap kilitlemenin kaynağını elde etme adımları:

  • Raporu almak istediğiniz etki alanını tanımlayın.
  • Raporu getirmek için ihtiyacınız olan LDAP özniteliklerini tanımlayın.
  • Raporu almak için birincil DC'yi tanımlayın.
  • Komut dosyasını derleyin.
  • Bunu Windows PowerShell'de yürütün
  • Rapor belirtilen biçimde dışa aktarılacaktır.
  • Raporu farklı bir biçimde elde etmek için komut dosyasını kullanıcının ihtiyaçlarına göre düzenleyin.

Örnek Windows PowerShell komut dosyası

#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 {} }
 Kopyalandı
Komut dosyasının tamamını kopyalamak için tıklayın

ADAudit Plus

Raporu elde etmek için,

  • ADAudit Plus web konsolunda oturum açın.
  • Raporlar -> Kullanıcı Yönetimi -> Hesap Kilitleme Analizcisi alanına ilerleyin
  • 'Etki Alanı' açılır menüsünde, gereken etki alanını seçin veya 'Tüm Etki Alanları' seçimini yapın.
  • Gerektiğinde, belirli kullanıcı adlarına veya etki alanı denetleyicisine göre filtreleme yapmak için 'Ara' seçeneğini kullanın.
  • Seçtiğiniz bir zaman dilimi için tüm hesap kilitlenme işlemlerinin bir listesini edinin.
    powershell-account- locked-out-source-1
  • Belirli bir kilitlenmenin kaynağı hakkında ayrıntılı bilgi almak için 'Analizci Ayrıntıları' seçimini yapın.
    powershell-account- locked-out-source-2
  • ADAudit Plus'ın verdiği sonuçları inceleyin: Hesap kilitlemenin kaynağı olabilecek çeşitli bileşenlerin analizi.
 

Hesap kilitlemenin kaynağını izlemek için PowerShell'i kullanmanın sınırlamaları aşağıdaki gibidir:

  • Bu komut dosyasını sadece Active Directory Etki Alanı Hizmetlerine rolüne sahip bilgisayarlardan çalıştırabilmekteyiz.
  • Tarih biçimlerini değiştirmek, sonuçlara farklı saat dilimleri uygulamak ve raporu farklı biçimlerde dışa aktarmak için komut dosyasının değiştirilmesi gerekir.
  • 'Çalışma saatleri içinde' gibi daha fazla filtre uygulamak LDAP sorgusunun karmaşıklık düzeyini artıracaktır.

Bir diğer yandan, ADAudit Plus, hesap kilitlemenin olası kaynağı hakkında sezgisel bir rapor biçiminde bilgi almak üzere etki alanındaki tüm DC'leri hızlı bir taramadan geçirecektir. BT yöneticileri bu bilgileri sorunu araştırmak ve çözmek için kullanabilir.

  • Karmaşık PowerShell komut dosyalarından kaçının ve ADAudit Plus ile AD değişiklik denetimini basitleştirin

İlgili Kaynaklar