Como obter o histórico de logon do usuário no Active Directory
Visualizar e analisar o histórico de logon do usuário é essencial, pois ajuda a prever padrões de logon e a conduzir trilhas de auditoria. Você pode obter o histórico de logon do usuário usando o Windows PowerShell. Como alternativa, você pode usar uma solução abrangente de auditoria do AD como o ADAudit Plus, que simplificará as coisas para você.
Este artigo compara o método de obtenção de informações do histórico de logon do usuário usando o Windows PowerShell e o ADAudit Plus.
PowerShell
Etapas para obter o histórico de logon dos usuários:
- Identifique o domínio do qual você deseja recuperar o relatório.
- Identifique o DC primário para recuperar o relatório.
- Compile o script.
- Execute-o no Windows PowerShell
- Caso queira exportar o relatório em um formato de arquivo específico, você precisará personalizar o cmdlet conforme necessário.
Exemplo de script do Windows PowerShell
# 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]
}}
Copiado
ADAudit Plus
Para obter o relatório,
- Faça login no console web do ADAudit Plus.
- Navegue até a guia Relatórios -> seção Logon-Logoff local -> Relatório de atividades de logon.
- No campo "Domínio" localizado no canto superior direito, selecione o domínio desejado ou selecione "Todos os domínios".
- Use a opção "Pesquisar" para filtrar nomes de usuário específicos ou controlador de domínio, se necessário.
- Obtenha todo o histórico de logon dos usuários durante um período de sua escolha.
- Exportar o relatório em um formato de sua escolha: CSV, PDF, XLS ou HTML.
A seguir estão as limitações do uso do PowerShell para obter o histórico de logon do usuário:
- Podemos executar o script acima apenas em computadores que tenham a função de Serviços de Domínio do Active Directory.
- Para alterar formatos de data e aplicar diferentes fusos horários nos resultados de data, o script deve ser modificado ou criado a cada vez.
- É difícil exportar o relatório em outros formatos.
- A aplicação de mais filtros, como "Durante o horário comercial", "Período" e "Exportar como", aumentará a complexidade da consulta LDAP.
Por outro lado, ADAudit Plus irá verificar rapidamente todos os DCs do domínio e obter todo o histórico de logons dos usuários na forma de um relatório intuitivo.
