Tüm oturum açan kullanıcıların raporunu oluşturma ve dışarı aktarma
Yöneticiler genellikle mevcut durumda oturum açmış olan tüm kullanıcıların listesini bilmek isterler. Bu bilgi, Windows Poweshell betikleri kullanılarak elde edilebilir. Ancak, betiği yazmak ve raporu belirtilen biçimde oluşturmak için her seferinde değiştirmek zahmetli bir işlemdir. ADAudit Plus gibi AD denetim çözümü, yöneticilerin bu raporu hemen almasına yardımcı olabilir. Aşağıda, Windows PowerShell ve ADAudit Plus ile tüm AD kullanıcılarının oturum açma raporunun alınması arasındaki karşılaştırma yer almaktadır:
PowerShell
PowerShell kullanarak tüm oturum açan kullanıcıları alma 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.
- Aşağıda belirtilen betikte yukarıdaki parametreleri belirtin ve derleyin.
- Windows PowerShell'de yürütün.
- Rapor, .psm dosya uzantısı biçiminde dışarı aktarılacaktır.
- Raporu farklı bir biçimde almak için betiği uygun şekilde değiştirin.
Örnek Windows PowerShell betiği
function Get-Execute it in Windows PowerShell.UserLogon { [CmdletBinding()] param ( [Parameter ()] [String]$Computer, [Parameter ()] [String]$OU, [Parameter ()] [Switch]$All ) $ErrorActionPreference="SilentlyContinue" $result=@() If ($Computer) { Invoke-Command -ComputerName $Computer -ScriptBlock {quser} | Select-Object -Skip 1 | Foreach-Object { $b=$_.trim() -replace '\s+',' ' -replace '>','' -split '\s' If ($b[2] -like 'Disc*') { $array= ([ordered]@{ 'User' = $b[0] 'Computer' = $Computer 'Date' = $b[4] 'Time' = $b[5..6] -join ' ' }) $result+=New-Object -TypeName PSCustomObject -Property $array } else { $array= ([ordered]@{ 'User' = $b[0] 'Computer' = $Computer 'Date' = $b[5] 'Time' = $b[6..7] -join ' ' }) $result+=New-Object -TypeName PSCustomObject -Property $array } } } If ($OU) { $comp=Get-ADComputer -Filter * -SearchBase "$OU" -Properties operatingsystem $count=$comp.count If ($count -gt 20) { Write-Warning "Search $count computers. Bu işlem biraz zaman alabilir ... Her bilgisayar için yaklaşık 4 saniye" } foreach ($u in $comp) { Invoke-Command -ComputerName $u.Name -ScriptBlock {quser} | Select-Object -Skip 1 | ForEach-Object { $a=$_.trim() -replace '\s+',' ' -replace '>','' -split '\s' If ($a[2] -like '*Disc*') { $array= ([ordered]@{ 'User' = $a[0] 'Computer' = $u.Name 'Date' = $a[4] 'Time' = $a[5..6] -join ' ' }) $result+=New-Object -TypeName PSCustomObject -Property $array } else { $array= ([ordered]@{ 'User' = $a[0] 'Computer' = $u.Name 'Date' = $a[5] 'Time' = $a[6..7] -join ' ' }) $result+=New-Object -TypeName PSCustomObject -Property $array } } } } If ($All) { $comp=Get-ADComputer -Filter * -Properties operatingsystem $count=$comp.count If ($count -gt 20) { Write-Warning "Search $count computers. Bu işlem biraz zaman alabilir ... Her bilgisayar için yaklaşık 4 saniye ..." } foreach ($u in $comp) { Invoke-Command -ComputerName $u.Name -ScriptBlock {quser} | Select-Object -Skip 1 | ForEach-Object { $a=$_.trim() -replace '\s+',' ' -replace '>','' -split '\s' If ($a[2] -like '*Disc*') { $array= ([ordered]@{ 'User' = $a[0] 'Computer' = $u.Name 'Date' = $a[4] 'Time' = $a[5..6] -join ' ' }) $result+=New-Object -TypeName PSCustomObject -Property $array } else { $array= ([ordered]@{ 'User' = $a[0] 'Computer' = $u.Name 'Date' = $a[5] 'Time' = $a[6..7] -join ' ' }) $result+=New-Object -TypeName PSCustomObject -Property $array } } } } Write-Output $result }
ADAudit Plus
Raporu almak için,
- ADAudit Plus web konsolunda yönetici olarak oturum açın.
- Raporlar sekmesinde gezinin. Sol bölmeden Kullanıcı Oturum Açmaları bölümüne tıklayın ve Kullanıcı Oturum Açma Raporları seçeneğini belirleyin.
- Raporu tercih edilen biçimlerden herhangi birinde (CSV, PDF, HTML, CSVDE ve XLSX) dışarı aktarmak için Farklı Dışa Aktar’ı seçin.
Ekran görüntüsü
Windows PowerShell gibi yerel araçları kullanarak oturum açan tüm AD kullanıcılarının raporunu almak için sınırlamalar aşağıda verilmiştir:
- Betik, yalnızca Active Directory Etki Alanı Hizmetleri rolüne sahip bilgisayarlardan yürütülebilir.
- Tarih biçimlerini değiştirmek ve tarih sonuçlarına farklı saat dilimleri uygulamak zordur.
- Raporu CSV dışındaki dosya biçimlerinde dışarı aktarmak zordur.
- OU veya 'Kullanıcı adı şununla başlar' gibi daha fazla filtre uygulamak, LDAP sorgu karmaşıklığını artıracaktır.
ADAudit Plus, basit ve sezgisel olarak tasarlanmış bir kullanıcı arayüzünde görüntülenen, oturum açan kullanıcıları almak için etki alanındaki tüm DC'leri otomatik olarak tarayarak raporu oluşturacaktır.
