Active Directory'de kullanıcıların oturum açma geçmişi bilgisinin alınması
Oturum açma modellerinin tahmin edilmesine ve denetim izlemelerinin yürütülmesine yardımcı olduğundan Kullanıcı oturum açma geçmişinin görüntülenmesi ve analiz edilmesi önemlidir. Windows PowerShell'i kullanarak kullanıcı oturum açma geçmişini alabilirsiniz. Alternatif olarak, işleri sizin için kolaylaştıracak olan ADAudit Plus gibi kapsamlı bir AD denetim çözümünü kullanabilirsiniz.
Bu makalede, Windows PowerShell ve ADAudit Plus kullanılarak kullanıcı oturum açma geçmişi bilgilerinin alınma yöntemi ile ilgili bir karşılaştırma sunulmaktadır.
PowerShell
Kullanıcıların oturum açma geçmişini alma adımları:
- Raporu almak istediğiniz etki alanını 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
- Raporu belirli bir dosya biçiminde dışa aktarmak istemeniz halinde cmdlet'i gereken şekilde özelleştirmeniz gerekecektir.
Örnek Windows PowerShell komut dosyası
# Find DC list from Active Directory $DCs = Get-ADDomainController -Filter * # Define time for report (default is 1 day) $startDate = (get-date).AddDays(-1) # Store successful logon events from security logs with the specified dates and workstation/IP in an array foreach ($DC in $DCs){ $slogonevents = Get-Eventlog -LogName Security -ComputerName $DC.Hostname -after $startDate | where {$_.eventID -eq 4624 }} # Crawl through events; print all logon history with type, date/time, status, account name, computer and IP address if user logged on remotely foreach ($e in $slogonevents){ # Logon Successful Events # Local (Logon Type 2) if (($e.EventID -eq 4624 ) -and ($e.ReplacementStrings[8] -eq 2)){ write-host "Type: Local Logon`tDate: "$e.TimeGenerated "`tStatus: Success`tUser: "$e.ReplacementStrings[5] "`tWorkstation: "$e.ReplacementStrings[11] } # Remote (Logon Type 10) if (($e.EventID -eq 4624 ) -and ($e.ReplacementStrings[8] -eq 10)){ write-host "Type: Remote Logon`tDate: "$e.TimeGenerated "`tStatus: Success`tUser: "$e.ReplacementStrings[5] "`tWorkstation: "$e.ReplacementStrings[11] "`tIP Address: "$e.ReplacementStrings[18] }}
ADAudit Plus
Raporu elde etmek için,
- ADAudit Plus web konsolunda oturum açın.
- Raporlar sekmesi -> Yerel Oturum Açma - Oturum Kapatma bölümü -> Oturum Açma Etkinliği raporu alanına gidin.
- Sağ üst köşede bulunan 'Etki Alanı' alanında, 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 dönem için kullanıcıların tüm oturum açma geçmişini alın.
- Raporu tercih ettiğiniz bir biçimde dışa aktarın: CSV, PDF, XLS veya HTML.
Kullanıcı oturum açma geçmişini almak için PowerShell kullanmanın sınırlamaları aşağıdaki gibidir:
- Yukarıdaki komut dosyasını sadece Active Directory Etki Alanı Hizmetlerine rolünün bulunduğu bilgisayarlardan çalıştırabilmekteyiz.
- Tarih biçimlerini değiştirmek ve tarih sonuçlarına farklı saat dilimleri uygulamak için her seferinde komut dosyasının değiştirilmesi veya oluşturulması gerekir.
- Raporu diğer biçimlerde dışa aktarmak zordur.
- 'Çalışma saatleri içinde', 'Dönem' ve 'Farklı dışa aktar' gibi daha fazla filtre uygulamak LDAP sorgusunun karmaşıklık düzeyini artıracaktır.
Bir diğer yandan, ADAudit Plus, etki alanındaki tüm DC'leri hızlı bir taramadan geçirir ve kullanıcıların oturum açma geçmişinin tamamını sezgisel bir rapor biçiminde size sunar.
