Більшість сервісів (якщо не всі) можна керувати за допомогою значення Start
за допомогою ключа реєстру. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<service name>
Зверніть увагу, що CurrentControlSet
у вищезгаданому ключі реєстру є посилання на будь-яке ControlSet001
або ControlSet002
як описано тут .
Тепер значення "Пуск" може мати значення від 0 до 4 ( sc config для довідки ):
- 0 - завантаження - Вказує драйвер пристрою, який завантажується завантажувачем.
- 1 - система - Вказує драйвер пристрою, який запускається під час ініціалізації ядра.
- 2 - auto - Вказує сервіс, який автоматично запускається кожного разу при перезапуску комп'ютера та запуску, навіть якщо на комп'ютер ніхто не входить.
- 3 - попит (вручну) - Вказує послугу, яку потрібно запустити вручну. Це значення за замовчуванням, якщо start = не вказано.
- 4 - вимкнено - Вказує послугу, яку неможливо запустити. Щоб запустити відключену службу, змініть тип запуску на якесь інше значення.
Переходячи до цієї божевільної служби, що відключає розповсюдження, спочатку перевірте значення запуску сервісу та позначте його, підготуйтеся до альтернативних завантажувальних носіїв (будь-який інсталюючий носій Windows), якщо система стане незавантаженою через відсутність необхідної послуги.
Якщо лайно трапиться, завантажтесь із зовнішнього носія, перемкніть на консоль (shift + F10 IIRC)> regedit> вкажіть на HKEY_LOCAL_MACHINE і "завантажте вулик"> <systemdrive>:\Windows\System32\config\SYSTEM
. Тепер знайдіть під завантаженим вуликом, ControlSet001\Services
і ви можете скасувати попередні помилки із встановленням Start
значень за замовчуванням.
Ось невеликий пакетний скрипт для переліку всіх служб "за замовчуванням" (за замовчуванням, поки не буде змінено користувачем, який потім стає "за замовчуванням") у розділі 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
Вставте наведений вище код defaultservices.bat
і запустіть його, defaultservices.bat > defaultservices.txt
щоб створити текстовий файл, який можна буде використовувати згодом, щоб побачити значення за замовчуванням служби