Manchmal ist es notwendig einen Prozess oder Dienst neuzustarten um ein bestimmtes Problem zu lösen. Vielleicht haben Sie ein solches Problem in Ihrer Umgebung, für die Software gibt es keinen Patch mehr der Abhilfe schaffen kann, oder es handelt sich einfach um ein Task der regelmäßig neu angestoßen werden muss. Genau das sind typische Beispiele wo Aktionen hilfreich sein können. In diesem Artikel zeige ich Ihnen wie Sie Aktionen in servereye mittels PowerShell nutzen können.
Die Macht der PowerShell
Die PowerShell ist eine mächtige Shell mit der sich fast jede Aktion umsetzen lässt. So gibt es vorgefertigte Befehle um einen Prozess zu beenden und wieder zu starten, einen Dienst und sogar den eigenen Rechner (oder einen fremden) neuzustarten.
In unserem Partnerbereich bieten wir bereits eine kurze Einführung in die PowerShell-API, also wie Sie eigene Überwachungen auf Basis eines PowerShell-Skripts erstellen können.
Die Infos finden Sie hier:
Erweiterte PowerShell Sensor Doku
Ich habe auch ein Beispielskript angehängt an diesen Eintrag, in welchem ein gewählter Prozess auf CPU und Arbeitsspeicher Verbrauch überwacht werden kann. Werden die Schwellwerte erreicht, wird der Prozess beendet und wieder gestartet.
Die Befehle dafür sind
- Stop-Process
- Start-Process
Für Dienste neuzustarten oder gar den PC gibt es folgende Befehle:
- Restart-Service
- Restart-Computer
Das Skript ist funktionsfähig, kann aber auch einfach als Anreiz für andere Szenarien genutzt werden.

Skript in servereye einbinden[/vc_custom_heading]
Um ein Skript in servereye zu nutzen müssen Sie es im Installationsverzeichnis in das Unterverzeichnis „Scripts“ kopieren. Dies liegt standardmäßig unter C:\Program Files (x86)\servereye\service\current\Scripts\.
Wenn Sie solche System-Aktionen durchführen wollen starten Sie zur Sicherheit den Sensorhub Dienst auf dem System als Administrator starten, da sonst die PowerShell-Kommandos in einem UAC Dialog hängen bleiben könnten. Außerdem kann es durchaus sein, das Prozesse mit einer grafischen Oberfläche nicht korrekt neugestartet werden können.
Danach ist es über den Sensor „Erweiterte PowerShell Überprüfung“ auswählbar und lässt sich überwachen.
Falls Sie Argumente in Ihrem Skript nutzen wollen können Sie dies über die entsprechende Einstellung tun. In unserem Falle gibt es die Argumente
- process
- maxRamMB
- maxCPU
Ich rufe das Skript also mit folgenden Parametern auf:
Die Ausgabe des Sensors sind dann wie folgt aus:
Bzw. im Fehlerfall, wenn der Prozess zuviel schluckt so:
Viel Spaß beim Skripten 🙂