A maioria dos serviços (se não todos) pode ser controlado através de valor Start
sob a chave de registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<service name>
nota Por favor, que CurrentControlSet
na chave do registro acima é link para um ou outro ControlSet001
ou ControlSet002
como descrito aqui .
Agora o valor "Iniciar" pode ter valores de 0 a 4 ( configuração do sc para referência ):
- 0 - inicialização - Especifica um driver de dispositivo carregado pelo carregador de inicialização.
- 1 - sistema - Especifica um driver de dispositivo iniciado durante a inicialização do kernel.
- 2 - automático - Especifica um serviço que é iniciado automaticamente sempre que o computador é reiniciado e executado, mesmo que ninguém faça logon no computador.
- 3 - demanda (manual) - especifica um serviço que deve ser iniciado manualmente. Este é o valor padrão se start = não estiver especificado.
- 4 - desativado - especifica um serviço que não pode ser iniciado. Para iniciar um serviço desativado, altere o tipo de início para outro valor.
Ao ir para a louca desabilitação do serviço, verifique primeiro o valor de início do serviço e anote-o, prepare-se com mídia de inicialização alternativa (qualquer mídia de instalação do Windows fará) caso o sistema não seja inicializado devido ao serviço necessário desabilitado.
Se alguma coisa acontecer, inicialize a partir da mídia externa, alterne para o console (shift + F10 IIRC)> regedit> aponte para HKEY_LOCAL_MACHINE e "carregue a seção"> <systemdrive>:\Windows\System32\config\SYSTEM
. Agora localize na seção carregada ControlSet001\Services
e você poderá desfazer os erros anteriores com a definição de Start
valores como padrões.
Aqui está um pequeno script em lote para listar todos os serviços "padrão" (padrão até serem modificados pelo usuário, que depois se torna "padrão") em 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
Cole o código acima defaultservices.bat
e execute-o defaultservices.bat > defaultservices.txt
para gerar um arquivo de texto, que pode ser utilizado posteriormente para ver os valores padrão do serviço.