Ich habe meinen Windows-PC mit nssm in einen Automatisierungsserver verwandelt

/de/images/xda-laptop-services-list-feature.jpg

Der Non-Sucking Service Manager ist ein Diensthilfsmittel, das Programme und benutzerdefinierte Skripte als Dienste installiert und ihnen ermöglicht, dauerhaft im Hintergrund ausgeführt zu werden. Die letzte stabile Veröffentlichung wurde am 31. August 2014 mit einem Zeitstempel versehen, dennoch ist sie weiterhin ein unverzichtbares Werkzeug für die berufliche Entwicklung und Informatik.

Es wird auch für mehr als die Installation von Diensten verwendet. NSSM kann außerdem Dienste herunterfahren, verzögern, neu starten und sogar deinstallieren. Es bietet außerdem Konfigurationsoptionen in allen Phasen der Dienstausführung, sodass ich auswählen kann, was passiert, wenn der Dienst gestartet und beendet wird.

Ich hatte NSSM tatsächlich in einem meiner vorherigen Artikel verwendet, aber damals hatte ich keine Zeit, mich damit zu befassen. Und ehrlich gesagt hätte ich nicht gedacht, dass ein Tool, das bereits 2007 veröffentlicht wurde, heute noch nützlich sein würde. Aber wenn es etwas gibt, was das Internet gelehrt hat, dann ist es, dass alte Windows-Befehle immer noch nützlich sein können.

Services vs. Prozesse, wie unterscheiden sie sich?

In Windows ist jeder Dienst ein Prozess, aber nicht alle Prozesse sind Dienste

Aber warum sollten Dinge als Dienste installiert werden und wie unterscheiden sie sich von Prozessen? Die einfachste Antwort ist, dass der Prozess eine beliebige Instanz eines Programms ist, das in Windows ausgeführt wird. Jede Browsersitzung (einschließlich ihrer Registerkarten), Steam und Teams haben alle ihre eigenen Prozesse (oder mehrere Prozesse, sogenannte Prozessbäume). Der größte Unterschied zwischen einem Prozess und einem Dienst besteht darin, dass ein Prozess möglicherweise direkt mit dem Benutzer interagiert oder nicht, während Dienste ausschließlich im Hintergrund ausgeführt werden. Außerdem verwaltet Windows Dienste mithilfe eines speziellen Systems namens Windows Service Control Manager (SCM), das häufig mehrere Dienste in einem einzigen Prozess im Task-Manager gruppiert.

Warum nicht einfach den Windows-Taskplaner verwenden?

Die Installation eines Prozesses als Dienst sorgt für eine bessere Betriebszeit

Wenn NSSM nur eine weitere Möglichkeit ist, Dienste automatisch zu starten und auszuführen, warum nicht einfach den Windows-Taskplaner verwenden, der scheinbar dieselbe Funktion ausführt? Das liegt daran, dass die Funktion des Taskplaners zwar Aufgaben zu bestimmten Ereignissen oder Zeitplänen ausführt, aber nicht die Dauerhaftigkeit aufweist, die Dienste bieten.

Im Gegensatz zum Taskplaner installiert NSSM Dienste, die in den SCM integriert sind, um kontinuierlich Hintergrunddienste vor der Anmeldung und nach der Abmeldung auszuführen und bei einem Absturz automatisch neu zu starten. Die Dienste können auch für alle Benutzer gelten, während der Taskplaner nur pro Benutzer funktioniert, da eine Anmeldung erforderlich ist. Der leistungsstärkste Aspekt von NSSM ist jedoch seine Fähigkeit, Benutzern die Installation benutzerdefinierter Skripts und Tools als Dienste zu ermöglichen. Fazit: Wenn ein Prozess einmal gestartet und kontinuierlich ausgeführt werden muss (z. B. ein lokaler Server oder ein Dateimonitor), ist die Installation als Dienst die bessere Wahl. Wenn Sie nur eine einmalige Ausführung und Beendigung pro Benutzer benötigen, ist der Taskplaner die bessere Wahl.

Wie sieht der Aufbau aus?

Es ist viel einfacher als Sie denken

/de/images/xda-rustdesk-server-services-windows.png

NSSM erfordert keine Installation; Navigieren Sie einfach zu seinem Dateipfad oder geben Sie ihn in der Windows-Eingabeaufforderung ein, um seine Befehle aufzurufen (um seinen Zugriff in meinem Konto global zu machen, habe ich ihn als Umgebungsvariable hinzugefügt, sodass ich ihn von überall aus aufrufen kann). Obwohl es vollständig über die Windows-Eingabeaufforderung verwaltet werden kann, bevorzuge ich die Verwendung der grafischen Oberfläche, die mit dem Befehl „nssm install“ aufgerufen werden kann. So archaisch die Benutzeroberfläche auch sein mag, durch die Registerkarten, Optionen und Textfelder wirkt sie weniger einschüchternd.

Als ich meinen Windows RustDesk-Server mithilfe meiner Clients eingerichtet habe, habe ich NSSM zum Einrichten der Empfangs- und Sendeserver verwendet. Durch das Setzen des Arguments „service_auto_start“ kann der RustDesk-Server immer im Hintergrund laufen und automatisch neu starten, wenn er ausfällt.

Darüber hinaus habe ich für meine Remote-Server ein Watchdog-Skript, das sie kontinuierlich anpingt und mich benachrichtigt, wenn sie auf eine bestimmte Anzahl von Pings nicht antworten. Durch die Installation des Skripts als Dienst muss ich das Skript nicht jedes Mal manuell ausführen, wenn ich meinen PC hochfahre. Da das Skript im Hintergrund ausgeführt wird, kann ich die Ausgabe des Skripts (in meinem Fall die Zeitstempel) auch mit dem Befehl „AppStdout“ von NSSM in eine Protokolldatei kopieren, ebenso wie etwaige Fehlermeldungen mit dem Befehl „AppStderr“.

In einem Artikel, den ich vor ein paar Wochen geschrieben habe, habe ich darüber gesprochen, wie man den Taskplaner zum Planen von Aufräum- und Wartungsaufgaben verwendet. Obwohl die Befehle und Skripte in diesem Artikel in Dienste umgewandelt werden können, ist dies ein Fall, bei dem der Taskplaner meiner Meinung nach überlegen ist, da alle Bereinigungsvorgänge selten zu bestimmten Zeitpunkten ausgeführt werden. Da sie zum Ausführen und Beenden konzipiert sind, ist der Taskplaner dafür besser geeignet. Wenn ich jedoch einen Ordner überwachen und seinen Inhalt kontinuierlich bereinigen müsste, wäre die Installation dieses Skripts als Dienst auf jeden Fall hilfreich.

Ein abschließendes Wort zum Thema Sicherheit

Manche nennen es eine Riskware

Es gibt so viele weitere Anwendungsfälle, in denen NSSM hilfreich ist. Über die persönliche Automatisierung hinaus ist sie in allen Bereichen weit verbreitet, von automatisierten Windows-Bereitstellungen bis hin zu Point-of-Sale-Systemen. Allerdings ist seine leistungsstarke Fähigkeit, Dienste zu installieren, auch seine größte Schwäche, da es von Bedrohungsakteuren ausgenutzt wird, um Malware wie Krypto-Miner, Hintertüren und andere nicht so unterhaltsame Payloads einzusetzen. Aus diesem Grund klassifizieren einige Sicherheitsanbieter NSSM als Riskware – legitime Software, die leicht missbraucht werden kann. Da außerdem modifizierte Versionen von NSSM für böswillige Zwecke existieren, ist es wichtig, es nur von der offiziellen Quelle herunterzuladen.

Ich überlege immer noch, wie ich NSSM nutzen kann. Wenn dieses Tool Teil Ihres Workflows ist, hinterlassen Sie einen Kommentar und ich würde Ihre Vorschläge gerne ausprobieren.

*️⃣ Quelllink:

alte Windows-Befehle, Windows Service Control Manager, RustDesk-Server, Bereinigungs- und Wartungsaufgaben planen, Sicherheitsanbieter,