Direct Inward Dialing: +1 408 916 9892
Viewing and analyzing user logon history is essential as it helps predict logon patterns and conduct audit trails. You can get the user logon history using Windows PowerShell. Alternatively, you can use a comprehensive AD auditing solution like ADAudit Plus that will make things simple for you.
This article compares the method of getting user logon history information using Windows PowerShell and ADAudit Plus.
# 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] }}
The following are the limitations of using PowerShell to get the user logon history:
On the other hand, ADAudit Plus will quickly scan all the DCs in the domain and gets you the the entire history of users' logons in the form of an intuitive report.