Większość usług (jeśli nie wszystkie) można kontrolować za pomocą wartości Start
w kluczu rejestru. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<service name>
Należy pamiętać, że CurrentControlSet
we wspomnianym kluczu rejestru znajduje się link do jednego z nich ControlSet001
lub w ControlSet002
sposób opisany tutaj .
Teraz wartość „Start” może mieć wartości od 0 do 4 ( konfiguracja sc w celach informacyjnych ):
- 0 - boot - Określa sterownik urządzenia ładowanego przez moduł ładujący.
- 1 - system - Określa sterownik urządzenia uruchamiany podczas inicjalizacji jądra.
- 2 - auto - określa usługę, która automatycznie uruchamia się przy każdym ponownym uruchomieniu komputera i działa, nawet jeśli nikt się nie zaloguje.
- 3 - żądanie (ręczne) - określa usługę, którą należy uruchomić ręcznie. Jest to wartość domyślna, jeśli nie określono parametru start =.
- 4 - wyłączony - określa usługę, której nie można uruchomić. Aby uruchomić wyłączoną usługę, zmień typ uruchomienia na inną wartość.
Idąc do tej szalonej usługi wyłączającej szaleństwo, najpierw sprawdź wartość początkową usługi i zaznacz ją, przygotuj się na alternatywny nośnik rozruchowy (zrobi to dowolny nośnik instalacyjny systemu Windows) na wypadek, gdyby system przestał się uruchamiać z powodu konieczności wyłączenia usługi.
Jeśli tak się stanie, uruchom komputer z zewnętrznego nośnika, przełącz na konsolę (shift + F10 IIRC)> regedit> wskaż HKEY_LOCAL_MACHINE i „załaduj gałąź”> <systemdrive>:\Windows\System32\config\SYSTEM
. Teraz zlokalizuj pod załadowanym gałęzią ControlSet001\Services
i możesz cofnąć poprzednie błędy, ustawiając Start
wartości domyślne.
Oto mały skrypt wsadowy, aby wyświetlić listę wszystkich „domyślnych” usług (domyślnie do czasu modyfikacji przez użytkownika, które następnie stają się „domyślnymi”) poniżej HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
:
@echo off
setlocal enabledelayedexpansion
set KEY=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
for /f "tokens=5 delims=\" %%a in ('reg query !KEY! /s /v "start"') do (
set SERVICE=%%a
for /f "tokens=3" %%b in ('reg query !KEY!\!SERVICE! /v "start" ^| findstr /i "start"') do (
echo !KEY!\!SERVICE! - "Start" %%d
)
)
endlocal
Wklej powyższy kod defaultservices.bat
i uruchom go, defaultservices.bat > defaultservices.txt
aby wygenerować plik tekstowy, który można wykorzystać później, aby zobaczyć domyślne wartości usługi.