Eventlog mit PowerShell – Funktionsweise

Das Betriebssystem Microsoft Windows, dessen Komponenten und manche andere Software Hersteller schreiben wichtige Ereignisse in das Windows Ereignisprotokoll. Erfolgreiche oder fehlerhafte Anmeldungen, Softwarefehler, Warnungen und weitere wichtige Informationen werden hier gelistet. Für viele Privatanwender ist es meistens nicht sehr relevant. Allerdings für Systemadministratoren in Firmen und größeren Unternehmen ist dies oft sehr hilfreich, um auf mögliche Probleme und Fehler zu reagieren. Mit dem Windows internen Kommandozeilenprogramm PowerShell lässt sich das Eventlog lesen, schreiben, löschen und viele weitere Befehle absetzen. In diesem Beitrag zeigen wir anhand von vielen einfachen Beispielen, wie dies umgesetzt werden kann. 🙂

myrfa / Pixabay

 

Eventlog löschen mit PowerShell

Um einen bestimmten Log – Typ (Beispiel “Windows PowerShell“) zu löschen, muss dieser Befehl ausgeführt werden:

Clear-EventLog "Windows PowerShell"

 

Das komplette Windows – Ereignisprotokoll löschen wir mit:

wevtutil el | Foreach-Object {wevtutil cl "$_"}

 

 

Eventlog lesen mit PowerShell

Um alle Event Logs zu lesen und ausgeben zu lassen verwenden wir:

Get-EventLog -List

 

Die neuesten 10 Logs aus der Kategorie “Application” werden so gelesen:

Get-EventLog -Newest 10 -LogName "Application"

 

Die Logs aus der Kategorie “System“, aber mit dem Typ “Error” werden so ausgelesen:

Get-EventLog -LogName System -EntryType Error

 

Wir können auch ein bestimmtes Datum filtern, wenn wir einen bestimmten Zeitraum sehen wollen:

$May31 = Get-Date 5/31/08
$July1 = Get-Date 7/01/08
Get-EventLog -Log "Windows PowerShell" -EntryType Error -After $May31 -before $July1

 

 

Eventlog anzeigen mit PowerShell

Dies ist nicht zu verwechseln mit der Funktion “Get-…“!
“Show-Eventlog” öffnet den richtigen Event Viewer für einen bestimmten Computer. Daher ist der Aufruf auch sehr einfach:

Show-EventLog -ComputerName "Client01"

 

 

Eventlog einschränken mit PowerShell

Das Ereignisprotokoll kann limitiert werden. So kann die Größe des Logs und das Alter eingeschränkt werden:

Limit-EventLog -LogName Security -ComputerName "Server01", "Server02" -RetentionDays 10 -MaximumSize 100KB

 

 

Eventlog neu anlegen mit PowerShell

Mit “New-…” können wir eine neues Ereignisprotokoll inklusive Quelle anlegen, falls wir eine eigene Anwendung haben:

New-EventLog –LogName Application –Source “My Script”

 

 

Eventlog schreiben mit PowerShell

Natürlich kann auch per Script ein Log geschrieben werden, was sehr wahrscheinlich am Öftesten benutzt wird:

Write-Eventlog -LogName Application -Source "My Script" -EntryType Information -EventId 1 -Message "This is a test log entry."

Danach sollte es im Ereignisprotokoll so zu sehen sein:

 

 

Eventlog entfernen mit PowerShell

Um ein bestimmtes Log vom deinem Client zu löschen, benötigen wir folgenden Befehl:

Remove-EventLog -LogName "MyLog", "TestLog" -ComputerName "Server01", "Server02", "localhost"

 

Natürlich kann auch wieder eine komplette Quelle gelöscht werden:

Remove-EventLog -Source "MyApp"

 

 

Nicht vergessen! 🙁

Damit ihr bestimmte Änderungen im Microsoft Windows Log vornehmen könnt, werden Administrator – Berechtigungen benötigt. Also muss die PowerShell Console oder das PowerShell Script als Administrator gestartet werden, um nicht auf Fehler zu stoßen.

Johannes Huber
 

In seiner Freizeit macht Johannes nichts lieber, als für ITnator Beiträge zu schreiben. Input bekommt er hierfür von Problemen in der IT Administration von Servern, Clients und vielen weiteren IT Komponenten.

Click Here to Leave a Comment Below 0 comments
sidebar