Det er vigtigt at se og analysere brugernes loginhistorik, da det hjælper med at forudsige loginmønstre og gennemføre overvågningsspor. Du kan få brugerens loginhistorik med Windows PowerShell. Alternativt kan du bruge en omfattende AD-overvågningsløsning som ADAudit Plus, der gør det nemt for dig.
Denne artikel sammenligner indhentning af brugerloginhistorik med Windows PowerShell og 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]
}}
Når PowerShell bruges til at hente brugerloginhistorik, er der følgende begrænsninger:
På den anden side vil ADAudit Plus hurtigt scanne alle DC'er i domænet og give dig hele historikken over brugernes login i en intuitiv rapport.