Event-Logs abfragen und anzeigen

Get-WinEvent zur Anzeige von gefilterten Events

Es ist ein leichtes Spiel mithilfe der Powershell nach definierten Einträgen zu suchen. Ereignisse können live oder auch anhand einer gespeicherten Datei durchsucht werden. Natürlich auch per Remote auf anderen Systemen im Netzwerk.

Suche nach Eventeinträgen

Hier ein paar Beispiel wie man ganz einfach nach  gewissen IDs oder Schlüsselwörtern sucht.

Event-Logs abfragen, filtern und anzeigen

# Anzeigen aller Systemereignisse (live)
Get-WinEvent -LogName system

# Anzeigen aller Systemereignisse aus einer exportierten Datei
Get-WinEvent -Path C:\Temp\System.evtx | fl

# Anzeigen aller Systemereignisse aus einer exportierten Datei mit GridView
Get-WinEvent -Path C:\Temp\System.evtx | Out-GridView

# Anzeigen aller Systemereignisse aus einer exportierten Datei als Gruppe zusammengefasst und duchgezählt
Get-WinEvent -Path C:\Temp\System.evtx | Group-Object id -NoElement | sort count

# Anzeigen aller Systemereignisse aus einer exportierten Datei und suche nach individuellen Ereignissen
Get-WinEvent -FilterHashtable @{Path=”C:\Temp\system.evtx”;ID=10148,98}

# Anzeigen aller Systemereignisse und suche nach individuellen Ereignissen (live)
Get-WinEvent -FilterHashtable @{logname=”system”;id=10148,98}

# Anzeigen aller Systemereignisse aus einer exportierten Datei und Suche nach USB Einträgen
Get-WinEvent -FilterHashtable @{Path=”C:\Temp\system.evtx”} | Where {$_.Message -like “*USB*”}

# Anzeigen aller Systemereignisse aus einer exportierten Datei und Suche nach USB (case-sensitiv) Einträgen
Get-WinEvent -FilterHashtable @{Path=”C:\Temp\system.evtx”} | fl | findstr /i USB

# Anzeigen aller Systemereignisse aus einer exportierten Datei und liste nur Informationen auf
Get-WinEvent -FilterHashtable @{Path=”C:\Temp\application.evtx”;level=4}
Levelliste: LogAlways (0), Critical (1), Error (2), Warning (3), Information (4), Verbose (5)

# Auflisten aller Systemereignisse aus einer exportierten Datei und zähle durch
Get-WinEvent -FilterHashtable @{Path=”C:\Temp\application.evtx”;level=4} | Measure-Object -Line

# Anzeigen aller Sysmon Systemereignisse (live)
Get-WinEvent -logname “Microsoft-Windows-Sysmon/Operational”

# Anzeigen aller Sysmon Systemereignisse (live) nur mit der Event ID 3
Get-WinEvent -FilterHashtable @{logname=”Microsoft-Windows-Sysmon/Operational”; id=3}

# Anzeigen ader letzten 10 Sysmon Systemereignisse (live) mit der Event ID 3 der letzten 1.2 Stunden
Get-WinEvent -MaxEvents 10 -FilterHashtable @{LogName=”Microsoft-Windows-Sysmon/Operational”; Id=3; StartTime=(Get-Date).AddHours(-1.2)}

Windows Security Audit Events