PowerShell Befehlsreferenz für Ereignisprotokolle auswerten
Aktualisiert am 23.10.2026 · Lesezeit ca. 4 Min. · Niveau: Experten · von Viktor Tribus, IT-Tribus Nideggen
In der täglichen Arbeit ist das Auswerten von Ereignisprotokollen ein wichtiger Bestandteil der Systemadministration und -überwachung. PowerShell bietet eine umfassende Palette an Cmdlets, die Ihnen dabei helfen können, Protokolle effizient zu durchsuchen und auszuwerten. Diese Befehlsreferenz richtet sich vor allem an Experten im Home-Office-Umfeld und erläutert, wie Sie diese Cmdlets verwenden können, um Ihre Systeme sicher und performant zu betreiben. Im Europäischen Monat der Cybersicherheit (Oktober) ist es besonders wichtig, auf die Sicherheit Ihrer Systeme zu achten – und das Auswerten von Ereignisprotokollen gehört dazu.
So nutzen Sie diese Befehlsübersicht
Diese Übersicht richtet sich an Administratoren mit Administratorrechten. Die aufgeführten Cmdlets laufen in PowerShell-Konsolen, die mit erhöhten Rechten gestartet wurden. Es wird empfohlen, vor jedem Einsatz einen Wiederherstellungspunkt zu erstellen oder ein Backup des Systems durchzuführen.
Get-EventLog: Grundlegende Protokollabfrage
| Befehl | Beschreibung | Beispiel |
|---|---|---|
| Get-EventLog -LogName System | Liest alle Ereignisse aus dem Systemprotokoll. | |
| Get-EventLog -LogName Application | Where-Object | Filtriert Fehlerereignisse aus dem Anwendungsprotokoll. | |
| Get-EventLog -LogName Security -InstanceId 4625 | Liest Sicherheitsereignisse mit der InstanceId 4625 (Fehlerhafte Anmeldeversuche). | |
| Get-EventLog -LogName System -After (Get-Date).AddDays(-7) | Liest Ereignisse aus dem letzten Woche. | |
| Get-EventLog -LogName Application -Newest 10 | Liest die zehn neuesten Einträge aus dem Anwendungsprotokoll. | |
| Get-EventLog -LogName System | Measure-Object | Zählt die Gesamtzahl der Ereignisse im Systemprotokoll. | |
| Get-EventLog -LogName Application | Group-Object Source | Klassifiziert Ereignisse nach Quelle. | |
| Get-EventLog -LogName Security | Sort-Object TimeGenerated -Descending | Schreibt Ereignisse des Sicherheitsprotokolls in absteigender Reihenfolge. |
Get-WinEvent: Erweiterte Protokollabfrage
| Befehl | Beschreibung | Beispiel |
|---|---|---|
| Get-WinEvent -LogName System | Liest alle Ereignisse aus dem Systemprotokoll (Windows Vista und höher). | |
| Get-WinEvent -FilterHashtable @ | Filtriert Fehlerereignisse aus dem Anwendungsprotokoll. | |
| Get-WinEvent -FilterXPath „*[System[(Level=4 or Level=0)]]" -MaxEvents 10 | Liest die zehn neuesten Warn- oder Informationseinträge. | |
| Get-WinEvent -LogName Security -FilterXPath „*[EventData/Data[@Name='Outcome'] and text()='0′]" | Filtriert Sicherheitsereignisse, bei denen der Ausgang negativ war. | |
| Get-WinEvent -ListLog * | Select-Object Logname | Liest die Namen aller Protokolle auf dem System. | |
| Get-WinEvent -FilterHashtable @ | Liest Ereignisse des letzten Tages. | |
| Get-WinEvent -FilterXPath „*[EventData/Data[@Name='SubjectUserName'] and text()='SYSTEM']" | Filtriert Ereignisse, bei denen das Subjekt „SYSTEM" ist. | |
| Get-WinEvent -LogName System | Where-Object | Liest Ereignisse mit der ID 100 aus dem Systemprotokoll. |
Export-Csv: Protokolldaten exportieren
| Befehl | Beschreibung | Beispiel |
|---|---|---|
| Get-EventLog -LogName System | Export-Csv -Path „C:\SystemEvents.csv" -NoTypeInformation | Exportiert das Systemprotokoll in eine CSV-Datei. | |
| Get-WinEvent -FilterHashtable @ | Export-Csv -Path „C:\AppEventsLastWeek.csv" | Exportiert Anwendungsereignisse der letzten Woche als CSV. | |
| Get-WinEvent -FilterXPath „*[System[(Level=2)]]" | Export-Csv -Path „C:\ErrorEvents.csv" | Exportiert alle Fehlerereignisse als CSV. | |
| Get-EventLog -LogName Security -InstanceId 4625 | Export-Csv -Path „C:\FailedLoginAttempts.csv" | Exportiert alle Fehlerhafte Anmeldeversuche als CSV. |
Praxisbeispiele: Befehle kombinieren
Aufgabe 1: Fehlerereignisse des letzten Tages exportieren
Diese Aufgabe zeigt, wie Sie alle Fehlerereignisse des letzten Tages aus dem Anwendungsprotokoll exportieren können.
Aufgabe 2: Systemeinträge mit spezifischer EventID filtern und exportieren
Diese Aufgabe zeigt, wie Sie Systemereignisse mit der EventID 100 aus den letzten sieben Tagen filtern und als CSV-Datei exportieren können.
Aufgabe 3: Anzahl der Fehlerereignisse im Anwendungsprotokoll zählen und exportieren
Diese Aufgabe zeigt, wie Sie die Anzahl der Fehlerereignisse im Anwendungsprotokoll zählen und das Ergebnis als CSV-Datei speichern können.
Vorsicht bei diesen Befehlen
Einige der aufgeführten Cmdlets können gefährlich sein, insbesondere wenn sie ohne die richtigen Filter oder Parameter verwendet werden. Zum Beispiel kann das Exportieren von Protokollen zu großen Dateien führen und somit Speicherplatzressourcen beanspruchen.
Export-Csv: Achten Sie darauf, dass Ihre Ausgaben nicht unnötig groß sind. Verwenden Sie Filter, um die Größe der Exportdatei einzuschränken.Get-WinEvent -FilterXPath: XPath-Abfragen können komplex sein und führen zu Fehlern oder unerwarteten Ergebnissen. Testen Sie Ihre Abfragen vor dem Einsatz in einer produktiven Umgebung.Measure-Object: Achten Sie darauf, dass Sie die Anzahl der Ereignisse nicht übermäßig hoch schätzen, da dies zu Leistungsproblemen führen kann.
Häufige Fragen
Wie unterscheiden sich Get-EventLog und Get-WinEvent?
Get-EventLog ist das traditionelle Cmdlet zur Abfrage von Ereignisprotokollen, während Get-WinEvent eine erweiterte Variante für Windows Vista und höher ist. Get-WinEvent bietet zusätzliche Filteroptionen wie XPath-Abfragen.
Kann ich Protokolldaten direkt in ein Textdokument exportieren?
Ja, Sie können die Ergebnisse von Get-EventLog oder Get-WinEvent mit dem Cmdlet Out-File direkt in ein Textdokument exportieren. Zum Beispiel:
Wie kann ich sicherstellen, dass meine Protokolle nicht gelöscht werden?
Sicherstellen, dass Ihre Protokolle nicht gelöscht werden, erfordert eine sorgfältige Konfiguration der Ereignisprotokollierung. Verwenden Sie die Einstellungen in der Windows-Ereigniserfassungs-Konsole oder PowerShell-Cmdlets wie Set-WinEvent, um das Protokollverhalten anzupassen.
Gibt es eine Möglichkeit, Ereignisse von entfernten Systemen abzurufen?
Ja, Sie können mithilfe der Parameter -ComputerName in Get-EventLog und Get-WinEvent Ereignisse von entfernten Computern abrufen. Zum Beispiel:
Fazit
Das Auswerten von Ereignisprotokollen mit PowerShell bietet eine leistungsstarke Möglichkeit, die Gesundheit und Sicherheit Ihrer Systeme zu überwachen. Diese Befehlsreferenz soll Ihnen dabei helfen, Ihre tägliche Arbeit effizienter durchzuführen und mögliche Probleme frühzeitig zu erkennen. Sollten Sie Unterstützung bei der Umsetzung benötigen, können Sie sich gerne an IT-Tribus in Nideggen wenden.
Quellen und weiterführende Informationen
- Get-EventLog (Microsoft.PowerShell.Management) – learn.microsoft.com
- Get-WinEvent (Microsoft.PowerShell.Diagnostics) – learn.microsoft.com
- Microsoft.PowerShell.Diagnostics Module – learn.microsoft.com
- Auswerten von Microsoft Defender Antivirus mithilfe von PowerShell – learn.microsoft.com
- Konfigurieren der Windows-Ereignisüberwachung – learn.microsoft.com
- about_Eventlogs – PowerShell – learn.microsoft.com
Hinweis: Dieser Beitrag wurde am 23.10.2026 mit KI-Unterstützung erstellt, auf Basis der genannten Quellen eigenständig formuliert und redaktionell von IT-Tribus betreut. Alle Angaben ohne Gewähr – bitte prüfen Sie Befehle vor dem Einsatz in produktiven Umgebungen und legen Sie vorher eine Sicherung an.
Benötigen Sie Unterstützung bei PowerShell Ereignisprotokolle?
IT-Tribus ist Ihr IT-Dienstleister aus Nideggen. Vor Ort helfen wir in Düren, im Kreis Düren und in der Region Aachen – Monitoring und Fernwartung mit NinjaOne bieten wir Unternehmen auch überregional an.
