Jak zarządzać usługami systemu Windows za pomocą programu PowerShell



Dostęp do usług systemu Windows za pomocą programu PowerShell jest dość przydatny — zwłaszcza jeśli bawisz się zachowaniami podczas uruchamiania lub po prostu chcesz wprowadzić jakieś zmiany w skrypcie. Nie wiem dlaczego, ale graficzny menedżer usług (services.msc) bywa czasem uciążliwy lub po prostu zbyt wolny. Korzystając z poleceń programu PowerShell, możesz pominąć interfejs użytkownika i obsługiwać wszystko bezpośrednio z terminala, co jest zbawienne w przypadku automatyzacji lub rozwiązywania problemów. Uwaga: jeśli próbujesz ustawić „Automatyczny (opóźniony start)”, to nadal jest to zarejestrowany element interfejsu graficznego; program PowerShell obsługuje tylko stany „Automatyczny” i „Ręczny”.

Jak zarządzać usługami systemu Windows za pomocą programu PowerShell

Wyłączanie lub włączanie usługi

Jeśli usługa stale uruchamia się automatycznie i chcesz to zatrzymać, najłatwiej jest ustawić jej typ uruchamiania na „Wyłączony” przed ponownym uruchomieniem. Działa w większości wersji systemu Windows, w tym w systemie Windows 10 i wersjach serwerowych. Pamiętaj jednak, że program PowerShell nie wyświetla komunikatu o pomyślnym uruchomieniu po zmianie typu uruchamiania, więc musisz samodzielnie sprawdzić stan.

Get-Service -Name "spooler" | Select-Object -Property Name, StartType Set-Service -Name "spooler" -StartupType Disabled Get-Service -Name "spooler" | Select-Object -Property Name, StartType 

Ten fragment kodu najpierw sprawdza typ uruchomienia usługi, następnie ustawia go na „Wyłączony”, a potem sprawdza ponownie. Szczerze mówiąc, to trochę dziwne – nie pojawia się potwierdzenie powodzenia, ale jeśli po zmianie typu uruchomienia (StartType) wyświetla się „Wyłączony”, to znaczy, że zadziałało. Na niektórych komputerach całkowite zatrzymanie automatycznego uruchamiania usługi po zmianie tego ustawienia może wymagać ponownego uruchomienia.

Ręczne zatrzymywanie usługi

Jeśli chcesz natychmiast zatrzymać usługę (np.przed jej wyłączeniem), możesz uruchomić:

Stop-Service -Name "spooler"

Usługa zostanie natychmiast zamknięta, ale pamiętaj: jeśli usługa jest ustawiona na automatyczne uruchamianie po ponownym uruchomieniu, może być konieczne jej wyłączenie, jak pokazano powyżej, lub zmiana typu uruchamiania.

Ustawianie usługi na ręczną lub automatyczną

Jest to przydatne, jeśli chcesz, aby usługa działała tylko wtedy, gdy jest potrzebna. Na przykład, aby ustawić ją na tryb ręczny, wykonaj następujące czynności:

Set-Service -Name "spooler" -StartupType Manual

A jeśli chcesz, aby uruchamiał się automatycznie wraz z systemem Windows, uruchom:

Set-Service -Name "spooler" -StartupType Automatic

Uwaga: Nie można ustawić opcji „Automatyczny (opóźniony start)” za pomocą programu PowerShell — to nadal kwestia interfejsu graficznego. Trzeba by było przejść do interfejsu graficznego lub zmodyfikować ustawienia rejestru, ale to kolejny problem.

Ponowne uruchomienie usługi

Jeśli wyłączyłeś lub zatrzymałeś usługę i chcesz ją ręcznie uruchomić ponownie, po prostu uruchom:

Start-Service -Name "spooler"

To uruchamia system bez konieczności ponownego uruchamiania. Jeśli piszesz skrypty, te polecenia to szybki sposób na przełączanie usług bez konieczności grzebania w interfejsie graficznym.

Wszystkie te polecenia sprawiają, że zarządzanie usługami systemu Windows jest szybsze i bardziej elastyczne, zwłaszcza jeśli automatyzujesz procesy lub chcesz uniknąć problemów z interfejsem graficznym. Pamiętaj jednak, że czasami system Windows uparcie utrzymuje usługę w trybie automatycznego uruchamiania – więc może być konieczne ponowne uruchomienie systemu lub sprawdzenie ustawień zasad grupy, jeśli sytuacja stanie się wyjątkowo nietypowa.



Czy ten artykuł był pomocny?