Ein PowerShell-Skript in einen Windows-Dienst umwandeln (ps1 zu Dienst)
Wie allgemein bekannt ist, funktioniert PowerShell im Bereich der Administration hervorragend. Es gibt jedoch Situationen, in denen es notwendig ist, ein ps1-Skript als Dienst auszuführen. Da PowerShell ursprünglich als Tool für Automatisierung und Systemverwaltung konzipiert wurde, kann es nicht nativ im Dienstmodus (PowerShell to Service) arbeiten.
Diese Einschränkung kann frustrierend sein, wenn Sie ein Hintergrund-Überwachungsskript, eine automatisierte Bereinigungsaufgabe oder einen beliebigen langlaufenden PowerShell-Prozess auf Windows Server 2025 benötigen – insbesondere in Produktionsumgebungen, in denen erwartet wird, dass Dienste automatisch starten und Benutzerabmeldungen überstehen.
Glücklicherweise lässt sich dieses Problem mit Tools von Drittanbietern lösen, die es ermöglichen, jede ausführbare Datei (oder jedes Skript) als Windows-Dienst auszuführen.
Tools zum Ausführen von EXE-Dateien als Windows-Dienste
Es gibt viele Hilfsprogramme, die eine ausführbare Datei in einen Windows-Dienst umwandeln können, darunter:
- AlwaysUp
- NSSM (Non-Sucking Service Manager)
- WinSW
- SrvStart
- EXE Service
In diesem Artikel verwenden wir EXE Service, da es bereits eine vorgefertigte Beispielkonfiguration für PowerShell bietet und sowohl GUI- als auch Befehlszeilenunterstützung hat.
Ein PowerShell-Skript als Windows-Dienst ausführen
Schritt 1: EXE Service öffnen
Nach der Installation von EXE Service erscheint eine Verknüpfung auf Ihrem Desktop.
Die grafische Oberfläche dient nur dazu, die Diensterstellung zu erleichtern.
Wenn Sie auf einem Windows Server ohne GUI arbeiten, haben Sie zwei Möglichkeiten:
- Den Dienst auf einem normalen PC erstellen und dann auf den Server übertragen
- EXE Service direkt auf dem Server über die Befehlszeile ausführen
Schritt 2: Einen neuen Dienst erstellen
EXE Service enthält bereits ein vorgefertigtes PowerShell to Service-Beispiel.
Klicken Sie einfach auf die Schaltfläche „Create from example“ (Aus Beispiel erstellen).

Schritt 3: Den Pfad zu Ihrer .ps1-Datei konfigurieren
Im erscheinenden Fenster müssen Sie die korrekten Pfade angeben:
- Pfad zur ausführbaren Datei:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe - Arbeitsverzeichnis:
Geben Sie den Ordner an, in dem sich Ihre Skriptdatei befindet - Argumente:
-ExecutionPolicy Bypass -File "C:\Pfad\Zu\Ihrem\Skript.ps1"
Stellen Sie sicher, dass die Pfade Ihrer tatsächlichen PowerShell-Installation und dem Skriptspeicherort entsprechen.

Schritt 4: Dienst speichern und starten
Klicken Sie auf „Create service“ (Dienst erstellen), um den Windows-Dienst zu erstellen.
Wenn Sie möchten, dass der Dienst sofort auf diesem Computer läuft, klicken Sie auf „Start“.
Danach wird Ihr PowerShell-Skript:
- Als Windows-Dienst ausgeführt
- Automatisch mit dem System starten
- Benutzerabmeldungen und Sitzungswechsel überstehen
- Über den Windows-Dienste-Manager (
services.msc) verwaltbar sein
Den Dienst auf einen anderen Server übertragen
Wenn Sie die Dienstkonfiguration auf einen anderen Windows Server übertragen möchten, folgen Sie den offiziellen EXE Service-Übertragungsanleitungen in deren Dokumentation.
Dieser Ansatz ist besonders nützlich, wenn identische Konfigurationen auf mehreren Servern bereitgestellt werden sollen.
Fazit
PowerShell wurde nicht als Dienst gebaut – aber Tools wie EXE Service lösen das Problem elegant. Verpacken Sie Ihr .ps1-Skript, und es wird beim Start ausgeführt, übersteht Abmeldungen und integriert sich nahtlos in services.msc. Keine umständlichen Workarounds, keine Scheduled-Task-Hacks. Einfach eine unkomplizierte, administrationsfertige Lösung.