Zurück zu PowerShell
EventLog & Fehleranalyse
Windows-Ereignisprotokolle auswerten — Fehler finden, Bluescreens analysieren, Logins prüfen.
Get-EventLog vs. Get-WinEvent
| Merkmal | Get-EventLog | Get-WinEvent |
|---|---|---|
| Verfügbarkeit | Ältere Logs (System, Application) | Alle Logs inkl. moderner |
| Performance | Langsamer | Schneller, filterbar am Provider |
| Empfehlung | Einfache Abfragen | Standard für alles |
Grundlegende Abfragen
# Letzte 20 Fehler im System-Log
Get-WinEvent -LogName System -MaxEvents 20 |
Where-Object Level -eq 2 |
Format-Table TimeCreated, Id, Message -Wrap
# Fehler der letzten 24 Stunden
$seit = (Get-Date).AddHours(-24)
Get-WinEvent -FilterHashtable @{
LogName = 'System'
Level = 2 # Error
StartTime = $seit
}
# Kritische Ereignisse (Level 1)
Get-WinEvent -FilterHashtable @{
LogName = 'System'
Level = 1
} -MaxEvents 10
Praxis: Letzte Bluescreens finden
Get-WinEvent -FilterHashtable @{
LogName = 'System'
ProviderName = 'Microsoft-Windows-WER-SystemErrorReporting'
} -MaxEvents 5 | Format-List TimeCreated, Message
Praxis: Fehlgeschlagene Anmeldeversuche
# Event-ID 4625 = fehlgeschlagene Anmeldung
Get-WinEvent -FilterHashtable @{
LogName = 'Security'
Id = 4625
} -MaxEvents 20 | Select-Object TimeCreated,
@{N='Benutzer';E={$_.Properties[5].Value}},
@{N='Quelle';E={$_.Properties[19].Value}}
Ergebnisse exportieren
# Als CSV exportieren
Get-WinEvent -LogName System -MaxEvents 100 |
Where-Object Level -le 2 |
Export-Csv C:\Temp\fehler.csv -NoTypeInformation -Encoding UTF8
Tipp: Level-Werte: 1 = Kritisch, 2 = Fehler, 3 = Warnung, 4 = Information. -FilterHashtable ist deutlich schneller als Where-Object, weil der Filter direkt am Provider greift.