Set-Service w PowerShell zmienia ustawienia usługi, takie jak typ uruchamiania (StartupType) czy stan działania.
Rola polecenia Set-Service w PowerShell
Set-Service jest poleceniem PowerShell służącym do modyfikowania właściwości usługi systemu Windows. Usługa to proces działający w tle, który może uruchamiać się razem z systemem albo dopiero wtedy, gdy zażąda go system lub określony program. Polecenie może zmienić między innymi tryb uruchamiania, stan działania oraz opis usługi. Do odczytania aktualnej konfiguracji przydatne jest polecenie Get-Service.
Najczęściej używana składnia ma postać Set-Service -Name NazwaUsługi -StartupType TypUruchamiania. Parametr -Name odnosi się do wewnętrznej nazwy usługi, a niekoniecznie do nazwy widocznej w przystawce Usługi. Przykładowo polecenie Set-Service -Name bits -StartupType Manual ustawia dla usługi BITS tryb uruchamiania ręcznego. Dostępne wartości parametru -StartupType obejmują między innymi Automatic, Manual i Disabled, zależnie od wersji systemu oraz obsługiwanej konfiguracji usługi.
StartupType, Status i identyfikacja usługi
Tryb Automatic oznacza uruchamianie usługi automatycznie, zazwyczaj podczas startu systemu. Manual pozwala na uruchomienie jej przez system lub inny składnik wtedy, gdy jest potrzebna, natomiast Disabled uniemożliwia standardowe uruchomienie do czasu zmiany konfiguracji. Ustawienie niewłaściwej wartości może spowodować, że zależny program przestanie działać albo że określona funkcja systemu nie będzie dostępna.
Parametr -Status służy do ustawienia bieżącego stanu usługi, na przykład Running albo Stopped. Przykład Set-Service -Name w32time -Status Running żąda uruchomienia usługi Czas systemu Windows. Przed wykonaniem operacji warto użyć Get-Service -Name w32time, aby potwierdzić nazwę usługi i jej aktualny stan. W razie wątpliwości można wyświetlić usługi według nazwy wyświetlanej, ale do poleceń administracyjnych bezpieczniej stosować stabilną nazwę wewnętrzną.
Uprawnienia, zależności i bezpieczne wykonanie zmiany
Modyfikowanie konfiguracji usług zwykle wymaga uruchomienia PowerShell z uprawnieniami administratora. Brak odpowiednich uprawnień może zakończyć się błędem odmowy dostępu, nawet jeśli nazwa usługi jest prawidłowa. Zmiana trybu uruchamiania nie zawsze natychmiast zmienia stan procesu: ustawienie StartupType określa zachowanie przy kolejnych uruchomieniach, podczas gdy -Status odnosi się do bieżącego działania usługi.
Przed zmianą należy sprawdzić zależności, ponieważ jedna usługa może wymagać działania innych usług. Informacje o zależnościach można uzyskać przez Get-Service -Name NazwaUsługi oraz właściwości obiektu zwróconego przez to polecenie. W skryptach administracyjnych warto stosować -WhatIf, jeśli dana wersja polecenia i użyty parametr obsługują symulację działania, a także przechowywać poprzednią konfigurację. Po zmianie należy ponownie wykonać Get-Service i sprawdzić, czy tryb oraz stan odpowiadają zamierzonemu rezultatowi. Samo ustawienie usługi jako uruchomionej nie naprawia błędów aplikacji, uszkodzonych plików systemowych ani problemów z zależnościami.
Set-Service przy diagnozowaniu problemów z Windows
Set-Service może pomóc w uporządkowanej diagnozie komputera, gdy problem wynika z wyłączonej usługi, nieprawidłowego trybu startu albo zatrzymanego składnika systemu Windows. Przykładowo można porównać konfigurację przed i po zmianie, sprawdzić komunikaty w Podglądzie zdarzeń oraz ustalić, czy po uruchomieniu usługi wraca działanie konkretnej funkcji. Należy rozróżnić zmianę administracyjną od naprawy: polecenie modyfikuje konfigurację usługi, lecz nie zastępuje analizy dzienników, kontroli integralności systemu ani sprawdzenia sprzętu.
Warszawskie Pogotowie Komputerowe wykonuje profesjonalną naprawę laptopów, komputerów PC i ich podzespołów, w tym diagnozę problemów z systemem Windows oraz oprogramowaniem działającym na komputerze. Przy zmianach wykonywanych poleceniem Set-Service istotne jest ustalenie, która usługa odpowiada za objaw, jakie ma zależności i czy modyfikacja nie wpłynie na inne funkcje systemu. Nie powinno się wyłączać usług wyłącznie na podstawie podobnie brzmiącej nazwy ani bez zapisania stanu początkowego.