Hur man genererar och exporterar rapport om användares inloggningshistorik

För att genomföra användargranskningsloggar vill administratörer ofta veta historiken för användarinloggningar. Detta kommer att vara till stor hjälp för dem att fastställa användarnas beteenden när det gäller inloggningar. Även om denna information kan hämtas med hjälp av Windows PowerShell är det en omständlig process att skriva ner, sammanställa, köra och ändra skripten för att uppfylla specifika detaljerade krav.

Granskningslösningen i Active Directory (AD), t.ex. ManageEngine ADAudit Plus, kommer att hjälpa administratörer att underlätta denna process genom att tillhandahålla lättillgängliga rapporter om den och flera andra kritiska säkerhetshändelser. Nedan följer jämförelsen mellan att erhålla en AD-användares rapport om inloggningshistorik med Windows PowerShell och ADAudit Plus:

PowerShell

Steg för att få användares inloggningshistorik med hjälp av PowerShell:

  • Identifiera den domän som du vill hämta rapporten från.
  • Identifiera de LDAP-attribut du behöver för att hämta rapporterna.
  • Identifiera den primära DC:n för att hämta rapporten.
  • Kompilera skriptet.
  • Kör den i Windows PowerShell.
  • Rapporten kommer att exporteras i angivet format.
  • För att få rapporten i ett annat format modifierar du skriptet.

Exempel på Windows PowerShell-skript

# 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] }}
 Kopierad
Klicka för att kopiera hela skriptet

ADAudit Plus

För att få rapporten,

  • Logga in på ADAudit Plus-webbkonsolen som en administratör.
  • Navigera till fliken Rapporter och klicka på avsnittet Rapporter om användarinloggning i den vänstra rutan och välj rapport om Användarinloggningsaktivitet.
  • Välj domänen och de specifika objekten som du vill fråga för, om sådana finns.
  • Välj Exportera som för att exportera rapporten i något av de föredragna formaten (CSV, PDF, HTML, CSVDE och XLSX).

Skärmbild

powershell -get-user-login-history-1
 

Nedan beskrivs begränsningarna för att få rapporten om varje användares inloggningshistorik med hjälp av inbyggda verktyg som Windows PowerShell:

  • Alla lokala inloggnings- och utloggningsrelaterade händelser registreras endast i säkerhetsloggen i individuella datorer (arbetsstationer eller Windows-servrar) och inte på domänkontrollanterna (DC:er).
  • Inloggningshändelser som registreras på DC:er innehåller inte tillräcklig information för att skilja mellan olika typer av inloggning, dvs. interaktiv, fjärrinteraktiv, nätverk, batch, tjänst etc.
  • Utloggningshändelser registreras inte på DC:er. Denna information är avgörande för att fastställa inloggningstiden för en viss användare.

Detta innebär att du behöver samla in information från DC:er samt arbetsstationer och andra Windows-servrar för att få en fullständig översikt av all inloggnings- och utloggningsaktiviteter i din miljö. Detta är en omständig och tråkig process för systemadministratörerna.

ADAudit Plus genererar rapporten om användarnas inloggningshistorik genom att automatiskt skanna alla DC:er i domänen för att hämta användarnas inloggningshistorik och visa den i ett enkelt och intuitivt utformat användargränssnitt.

Relaterade resurser