Como posso excluir um serviço do Windows?
-
09-06-2019 - |
Pergunta
Tenho alguns serviços antigos que desejo desinstalar completamente.Como posso fazer isso?
Solução
Use o SC comando, assim (você precisa estar em um prompt de comando para executar os comandos desta postagem):
SC STOP shortservicename
SC DELETE shortservicename
Observação: Você precisa executar o prompt de comando como administrador, não apenas conectado como administrador, mas também com direitos administrativos.Se você receber os erros acima sobre não ter os direitos de acesso necessários para interromper e/ou excluir o serviço, execute o prompt de comando como administrador.Você pode fazer isso procurando o prompt de comando no menu Iniciar e clicando com o botão direito e selecionando “Executar como administrador”. Nota para usuários do PowerShell: sc
é alias de set-content
.Então sc delete service
irá realmente criar um arquivo chamado delete
com o conteúdo service
.Para fazer isso no Powershell, use sc.exe delete service
em vez de
Se você precisar encontrar o nome abreviado de um serviço, use o seguinte comando para gerar um arquivo de texto contendo uma lista de serviços e seus status:
SC QUERY state= all >"C:\Service List.txt"
Para uma lista mais concisa, execute este comando:
SC QUERY state= all | FIND "_NAME"
O nome abreviado do serviço será listado logo acima do nome de exibição, assim:
SERVICE_NAME: MyService
DISPLAY_NAME: My Special Service
E assim para excluir esse serviço:
SC STOP MyService
SC DELETE MyService
Outras dicas
Clique Começar | Correr e digite regedit
na abertura:linha.Clique OK.
Navegar para HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
Role para baixo no painel esquerdo, localize o nome do serviço, clique com o botão direito e selecione Excluir.
Reinicie o sistema.
Usar serviços.msc ou (Iniciar > Painel de Controle > Ferramentas Administrativas > Serviços) para encontrar o serviço em questão.Clique duas vezes para ver o nome do serviço e o caminho para o executável.
Verifique as informações da versão exe para obter uma pista sobre o proprietário do serviço e use Adicionar/Remover programas para fazer uma desinstalação limpa, se possível.
Caso contrário, no prompt de comando:
sc stop servicexyz
sc delete servicexyz
Nenhuma reinicialização deve ser necessária.
SC DELETE "service name"
Execute o comando no cmd como administrador, caso contrário você receberá este erro: –
openservice falhou 5 acesso negado
Se você possui o Windows Vista ou superior, execute-o em um prompt de comando como Administrador:
sc delete [your service name as shown in service.msc e.g moneytransfer]
Por exemplo: sc delete moneytransfer
Exclua a pasta C:\Program Files\BBRTL\moneytransfer\
Encontre as chaves de registro de transferência de dinheiro e exclua-as:
HKEY_CLASSES_ROOT\Installer\Products\
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EventLog\
HKEY_LOCAL_MACHINE\System\CurrentControlSet002\Services\
HKEY_LOCAL_MACHINE\System\CurrentControlSet002\Services\EventLog\
HKEY_LOCAL_MACHINE\Software\Classes\Installer\Assemblies\ [remove .exe references]
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Folders
Essas etapas foram testadas no Windows XP, Windows 7, Windows Vista, Windows Server 2003 e Windows Server 2008.
Podemos fazer isso de duas maneiras diferentes
Remover serviço do Windows via registro
É muito fácil remover um serviço do registro se você souber o caminho correto.Aqui está como eu fiz isso:
Correr Regedit ou Regedt32
Vá para a entrada de registro "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services"
Procure o serviço que deseja excluir e exclua-o.Você pode consultar as chaves para saber quais arquivos o serviço estava usando e excluí-los também (se necessário).
Excluir serviço do Windows por meio da janela de comando
Alternativamente, você também pode usar o prompt de comando e excluir um serviço usando o seguinte comando:
excluir
Você também pode criar serviço usando o seguinte comando
sc create "MorganTechService" binpath= "C:\Arquivos de Programas\MorganTechSPace\myservice.exe"
Observação:Pode ser necessário reinicializar o sistema para atualizar a lista no gerenciador de serviços.
Conforme descrito acima, executei:
sc delete ServiceName
No entanto, isso não funcionou porque eu estava executando no PowerShell.
Ao usar o PowerShell, você deve especificar o caminho completo para sc.exe
porque o PowerShell tem um alias padrão para sc
atribuindo-o a Set-Content
.Por ser um comando válido, na verdade não mostra uma mensagem de erro.
Para resolver isso eu executei da seguinte maneira:
C:\Windows\System32\sc.exe delete ServiceName
Se eles forem serviços criados .NET, você pode usar o installutil.exe com o /u alternando sua pasta .NET Framework como C: Windows Microsoft.net Framework64 V2.0.50727
Aqui está um script vbs que foi passado para mim:
Set servicelist = GetObject("winmgmts:").InstancesOf ("Win32_Service")
for each service in servicelist
sname = lcase(service.name)
If sname = "NameOfMyService" Then
msgbox(sname)
service.delete ' the internal name of your service
end if
next
sc excluir nome
Para mim, meu serviço que criei teve que ser desinstalado em Painel de Controle > Programas e Recursos
Antes de remover o serviço você deve revisar as dependências.
Podes verificar:
Abrir services.msc
e encontre o nome do serviço, mude para a guia "Dependências".
Fonte: http://www.sysadmit.com/2016/03/windows-eliminar-un-servicio.html