Como gerar e exportar o relatório de usuários logados
Os administradores geralmente desejam saber a lista de todos os usuários que estão conectados no momento. Essas informações podem ser obtidas usando scripts do Windows Poweshell. No entanto, escrever o script e alterá-lo sempre para gerar o relatório no formato especificado é um processo trabalhoso. Uma solução de auditoria do AD como o ADAudit Plus pode ajudar os administradores a obter esse relatório rapidamente. A seguir está uma comparação entre obter um relatório dos usuários logados do AD com o Windows PowerShell e com o ADAudit Plus:
PowerShell
Etapas para obter todos os usuários logados usando o PowerShell:
- Identifique o domínio do qual você deseja recuperar o relatório.
- Identifique os atributos LDAP necessários para buscar o relatório.
- Identifique o DC primário para recuperar o relatório.
- Especifique os parâmetros acima no script abaixo e compile-o.
- Execute-o no Windows PowerShell.
- O relatório será exportado no formato de arquivo com extensão .psm.
- Para obter o relatório em um formato diferente, modifique o script adequadamente.
Exemplo de script do Windows PowerShell
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. This may take some time ... About 4 seconds for each 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 "Search $count computers. This may take some time ... About 4 seconds for each 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
}
ADAudit Plus
Para obter o relatório,
- Faça login no console web do ADAudit Plus como administrador.
- Navegue até a guia Relatórios. Clique na seção Logons de usuário no painel esquerdo e selecione a opção Relatórios de logon de usuário.
- Selecione Exportar como para exportar o relatório em qualquer um dos formatos preferidos (CSV, PDF, HTML, CSVDE e XLSX).
Captura de tela
A seguir estão as limitações para obter um relatório de todos os usuários do AD conectados usando ferramentas nativas como o Windows PowerShell:
- O script pode ser executado somente em computadores que tenham a função de serviços de domínio do Active Directory.
- É difícil alterar formatos de data e aplicar diferentes fusos horários nos resultados da data.
- É difícil exportar o relatório em formatos de arquivo diferentes de CSV.
- Aplicar mais filtros como UO ou "Nome de usuário começa com" aumentará a complexidade da consulta LDAP.
O ADAudit Plus vai gerar o relatório verificando automaticamente todos os DCs no domínio para recuperar os usuários que estão conectados, exibidos em uma interface de usuário simples e intuitiva.
