Przekształć skrypt PowerShell w usługę Windows (ps1 na usługę)
Jak powszechnie wiadomo, PowerShell doskonale sprawdza się w dziedzinie administracji. Zdarzają się jednak sytuacje, gdy konieczne jest uruchomienie skryptu ps1 jako usługi. Ponieważ PowerShell został początkowo zaprojektowany jako narzędzie do automatyzacji i zarządzania systemem, nie może natywnie działać w trybie usługi (PowerShell na usługę).
To ograniczenie może być frustrujące, gdy potrzebujesz skryptu monitorującego w tle, zautomatyzowanego zadania czyszczenia lub dowolnego długotrwałego procesu PowerShell na Windows Server 2025 — szczególnie w środowiskach produkcyjnych, gdzie oczekuje się, że usługi uruchamiają się automatycznie i przetrwają wylogowanie użytkowników.
Na szczęście problem ten można rozwiązać za pomocą narzędzi firm trzecich, które umożliwiają uruchomienie dowolnego pliku wykonywalnego (lub skryptu) jako usługi Windows.
Narzędzia do uruchamiania plików EXE jako usług Windows
Istnieje wiele narzędzi, które mogą przekształcić plik wykonywalny w usługę Windows, w tym:
- AlwaysUp
- NSSM (Non-Sucking Service Manager)
- WinSW
- SrvStart
- EXE Service
W tym artykule użyjemy EXE Service, ponieważ już zawiera gotowy przykładowy konfigurację dla PowerShell i obsługuje zarówno interfejs graficzny, jak i wiersz poleceń.
Uruchamianie skryptu PowerShell jako usługi Windows
Krok 1: Otwórz EXE Service
Po zainstalowaniu EXE Service na pulpicie pojawi się skrót.
Interfejs graficzny ma na celu jedynie ułatwienie tworzenia usługi.
Jeśli pracujesz na Windows Server bez GUI, masz dwie opcje:
- Utwórz usługę na zwykłym komputerze, a następnie przenieś ją na serwer
- Uruchom EXE Service bezpośrednio na serwerze za pomocą wiersza poleceń
Krok 2: Utwórz nową usługę
EXE Service zawiera już gotowy przykład konwersji PowerShell na usługę.
Po prostu kliknij przycisk „Utwórz z przykładu”.

Krok 3: Skonfiguruj ścieżkę do pliku .ps1
W oknie, które się pojawi, musisz określić poprawne ścieżki:
- Ścieżka do pliku wykonywalnego:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe - Katalog roboczy:
Wskaż folder, w którym znajduje się Twój plik skryptu - Argumenty:
-ExecutionPolicy Bypass -File "C:\Ścieżka\Do\Twojego\Skryptu.ps1"
Upewnij się, że ścieżki odpowiadają rzeczywistej instalacji PowerShell i lokalizacji skryptu.

Krok 4: Zapisz i uruchom usługę
Kliknij „Utwórz usługę”, aby utworzyć usługę Windows.
Jeśli chcesz, aby usługa uruchomiła się natychmiast na tym komputerze, kliknij „Uruchom”.
Po tym Twój skrypt PowerShell będzie:
- Działał jako usługa Windows
- Uruchamiał się automatycznie wraz z systemem
- Przetrwał wylogowanie użytkowników i zmiany sesji
- Był zarządzany za pomocą menedżera usług Windows (
services.msc)
Przenoszenie usługi na inny serwer
Jeśli planujesz przenieść konfigurację usługi na inny Windows Server, postępuj zgodnie z oficjalnymi instrukcjami przenoszenia EXE Service podanymi w ich dokumentacji.
To podejście jest szczególnie przydatne podczas wdrażania identycznych konfiguracji na wielu serwerach.
Podsumowanie
PowerShell nie został zbudowany jako usługa — ale narzędzia takie jak EXE Service rozwiązują ten problem w czysty sposób. Opakuj swój skrypt .ps1, a będzie on uruchamiany przy starcie, przetrwa wylogowania i bezproblemowo zintegruje się z services.msc. Żadnych skomplikowanych obejść, żadnych sztuczek z zadaniami zaplanowanymi. Po prostu proste, gotowe dla administratora rozwiązanie.