PowerShell – Services via Script checken

In diesem kleinen Artikel beschäftigen wir uns heute damit, wie wir einen Service mit der PowerShell prüfen können. Daraus resultiert ein kleines Skript, was zum Beispiel mit Nagios/Icinga abgefragt werden kann.

Aus diesem Grund definieren wir am Anfang des Skriptes auch erstmal die Rückgabewerte, die von einem Monitoring System erwartet werden.

Der Wert für Warning und Unknown sind hier nur der Vollständigkeit halber erwähnt. Im weiten Skript werden wir diese nicht verwenden.

Als nächsten legen wir uns erstmal eine Variable an, in die der Computername geschrieben wird.

Dann wollen wir diesmal eine try/catch verwenden, um unseren Check Systematisch aufzubauen. Die Ausdrücke zum Prüfen kommen in den try teil. Der catch Teil bekommt einfach nur den Rückgabewert für Critical.

Nun zum Inhalt des try Teils. Wir schreiben in eine Variable $wsu alle Services hinein, die im Namen die String wsusser haben. (Das ist nämlich beim WSUS nur einer =)

Von diesem Eintrag prüfen wir den Status. Wir unterscheiden hier Running und Stopped. Bei Running liefert das Skript den Wert für OK zurück, bei Stopped für Critical. Eigentlich eine ganz einfache Geschichte.

Hier nun nochmal das komplette Skript.

 

About Christian Piazzi

Ich blogge hier über alles, was mir so in meinem ITler Altag über den Weg läuft =)
Man findet mich privat bei Google+ und Twitter

Speak Your Mind

*