Більшість сервісів (якщо не всі) можна керувати за допомогою значення 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щоб створити текстовий файл, який можна буде використовувати згодом, щоб побачити значення за замовчуванням служби