Neu

PowerShell: Simpler Log-Parser

Anwendungen die keine sauberen Einträge in der Windows-Ereignisanzeige pflegen, bedienen sich oft eigener Log-Dateien die irgendwo im Dateisystem abgelegt sind. Ein tägliche Analyse dieser Protokolle ist mühsam. Um den Überblick zu behalten, hilft als Beispiel ein kleines PowerShell-Skript welches über die Aufgabenplanung ausgeführt, regelmäßig die Protokolle oder Logdateien auf einen bestimmten String durchsucht.

Das maximale Alter der Protokolldateien kann über den Skript-Parameter -PeriodToParse definiert werden (Muss als Negativwert angeben werden). Der zu suchende String selbst kann mittels Skript-Parameter -StringToFind angegeben werden. Die zu durchsuchenden Protokolle können nach Wahl ebenfalls über einen Parameter -FilesToParse (Array) oder direkt im Skript angegeben werden (Aktuell auskommentiert). So besteht die Möglichkeit über mehrere geplante Aufgaben – nach unterschiedlichen Strings in differenzierten Protokollen suchen zu lassen.

Die Variable $ParserStatus kann bspw. in ein eigenes Protokoll umgeleitet werden. Alternativ können die Zeilen auch einfach entfernt werden.

Die Konfiguration der Mailserver-Informationen habe ich bewusst im Skript belassen, da es durch die vielen Parameter bereits unübersichtlich genug ist.

Eine manuelle Ausführung des Skripts sehe dann wie folgt aus:

C:\Script\PSParser.ps1 -StringToFind „Error“ -PeriodToParse „-7“ -FilesToParse „\\Server1\c$\Temp\protocol.txt“

EDIT: Ich habe das Skript so erweitert, dass der Inhalt des entsprechenden Logs bzw. Protokoll als Nachrichten-Inhalt versendet wird. Je nachdem wie groß so ein Log wird, sollte die Funktion ggf. wieder entfernt werden. Alternativ ist noch der direkte Link zur entsprechenden Datei enthalten.

Viel Spaß mit dem Skript.

Leon Gawinski

Tags
Zur Unterstützung des Projekts IT-Feed...

Leon Gawinski

System Engineer Softwarebereich Microsoft

Empfohlene Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Back to top button
Close