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:

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:


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”.

Konwertuj PowerShell na usługę


Krok 3: Skonfiguruj ścieżkę do pliku .ps1

W oknie, które się pojawi, musisz określić poprawne ścieżki:

Upewnij się, że ścieżki odpowiadają rzeczywistej instalacji PowerShell i lokalizacji skryptu.

Konfiguracja PowerShell na usługę


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:


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.


Pobierz EXE_Service.msi i przekształć dowolny plik .exe w usługę Windows w kilka sekund.