Das Windows-Event-Log lässt sich grundsätzlich ganz gut nach den klassischen Event-IDs für Windows-Boots- und Reboots durchsuchen.
Eine komfortablere Möglichkeit, alle Boots und Reboots eines Windows-Systems auszugeben, gibt es dank folgender PowerShell-Statements:
PowerShell
Get-WinEvent -FilterHashtable @{logname='System'; id=1074} | ForEach-Object {
$rv = New-Object PSObject | Select-Object Date, User, Action, Process, Reason, ReasonCode, Comment
$rv.Date = $_.TimeCreated
$rv.User = $_.Properties[6].Value
$rv.Process = $_.Properties[0].Value
$rv.Action = $_.Properties[4].Value
$rv.Reason = $_.Properties[2].Value
$rv.ReasonCode = $_.Properties[3].Value
$rv.Comment = $_.Properties[5].Value
$rv } | Select-Object Date, Action, Reason, User
Alternativ auch mit anderen Event-IDs (z.B. 6006 für den Event-Log-Start):
PowerShell
Get-EventLog System -Newest 10000 | ` Where EventId -in 41,1074,1076,6005,6006,6008,6009,6013 | ` Format-Table TimeGenerated,EventId,UserName,Message -AutoSize -wrap
Bildquelle: Power icons created by Freepik – Flaticon