Boot- und Reboot-Events von Windows: mit Powershell strukturiert ausgeben

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

Quelle: https://social.technet.microsoft.com/wiki/contents/articles/17889.powershell-script-for-shutdownreboot-events-tracker.aspx

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

Quelle: https://manage.accuwebhosting.com/knowledgebase/3897/How-to-check-shutdown-and-reboot-logs-in-Windows-servers.html

Bildquelle: Power icons created by Freepik – Flaticon