Большинство сервисов (если не все) могут управляться через значение в Startразделе реестра. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<service name>
Обратите внимание, что CurrentControlSetв вышеупомянутом разделе реестра есть ссылка на один ControlSet001или ControlSet002как описано здесь .
Теперь значение «Start» может иметь значения от 0 до 4 ( sc config для справки ):
- 0 - boot - указывает драйвер устройства, который загружается загрузчиком.
- 1 - система - указывает драйвер устройства, который запускается во время инициализации ядра.
- 2 - авто - указывает службу, которая автоматически запускается при каждом перезапуске компьютера и запускается, даже если никто не входит в систему.
- 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чтобы сгенерировать текстовый файл, который можно использовать позже, чтобы увидеть значения по умолчанию для службы.