Administratorer vil ofte gerne kende listen over alle brugere, der aktuelt er logget ind. Disse oplysninger kan fås ved hjælp af Windows Poweshell-scripts. Det er dog en besværlig proces at skrive scriptet og ændre det hver gang for at generere rapporten i det specificerede format. AD-overvågningsløsninger som ADAudit Plus kan hjælpe administratorer med at få denne rapport hurtigt. Det følgende er en sammenligning mellem at få en rapport om alle AD-brugere, der er logget ind, med Windows PowerShell og ADAudit Plus:
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 "Søger $count computere. Det kan tage et stykke tid.... Omkring 4 sekunder for hver computer" } 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 "Søg $count computere. Det kan tage et stykke tid.... Omkring 4 sekunder for hver computer ..." } 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 }
Skærmbillede
Det følgende er begrænsningerne for at hente en rapport over alle AD-brugere, der er logget på ved hjælp af native værktøjer som Windows PowerShell:
ADAudit Plus genererer rapporten ved automatisk at scanne alle domænecontrollere i domænet for at hente de brugere, der er logget på, vist på et enkelt og intuitivt brugergrænseflade.