¿Cómo puedo eliminar un servicio en Windows?

Respuestas:

784

Use el comando SC , de esta manera (debe estar en un símbolo del sistema para ejecutar los comandos en esta publicación):

SC STOP shortservicename
SC DELETE shortservicename

Nota: debe ejecutar el símbolo del sistema como administrador, no solo conectado como administrador, sino también con derechos administrativos. Si recibe los errores anteriores sobre no tener los derechos de acceso necesarios para detener y / o eliminar el servicio, ejecute el símbolo del sistema como administrador. Puede hacerlo buscando el símbolo del sistema en su menú de inicio y luego haciendo clic derecho y seleccionando "Ejecutar como administrador". Nota para los usuarios de PowerShell: sc tiene un alias set-content. Entonces sc delete service, realmente creará un archivo llamado deletecon el contenido service. Para hacer esto en Powershell, use sc.exe delete serviceen su lugar


Si necesita encontrar el nombre corto de un servicio, use el siguiente comando para generar un archivo de texto que contenga una lista de servicios y sus estados:

SC QUERY state= all >"C:\Service List.txt"

Para una lista más concisa, ejecute este comando:

SC QUERY state= all | FIND "_NAME"

El nombre corto del servicio se mostrará justo encima del nombre para mostrar, de esta manera:

SERVICE_NAME: MyService
DISPLAY_NAME: My Special Service

Y así, para eliminar ese servicio:

SC STOP MyService
SC DELETE MyService
Lasse V. Karlsen
fuente
55
¿Eliminar el servicio de descubrimiento SSDP? Se utiliza para detectar y configurar dispositivos UPnP en la red local, no debe eliminarlo. Solo se usó como ejemplo.
Lasse V. Karlsen
55
Oooh, ya veo, sí. Pensé que querías decir que no se recomienda eliminar los servicios. ¡Gracias por la respuesta!
sgwill
16
Me pregunto cuántos administradores de sistemas ya han eliminado accidentalmente su servicio SSDPSRV simplemente por esta respuesta: p
Vincent Vancalbergh
66
Use sc query state= allpara obtener la lista completa de servicios; basic sc queryno devolverá servicios inactivos (es decir, deshabilitados).
tricasse
33
Tenga en cuenta que si está utilizando PowerShell, sctiene un alias set-content. Entonces sc delete service, realmente creará un archivo llamado deletecon el contenido service. Para hacer esto en Powershell, use sc.exe delete serviceen su lugar.
KFL
49

Haga clic en Inicio | Ejecuta y escriberegedit Abrir: línea. Haga clic en Aceptar.

Navegar a HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

Desplácese hacia abajo en el panel izquierdo, busque el nombre del servicio, haga clic derecho y seleccione Eliminar .

Reinicia el sistema.

Mark Schill
fuente
1
Esta es una buena alternativa cuando el ejecutable que aloja el servicio se ha eliminado (no desinstalado) y el sc deletemecanismo preferido falla. Gracias.
holtavolt
17

Use services.msc o (Inicio> Panel de control> Herramientas administrativas> Servicios) para encontrar el servicio en cuestión. Haga doble clic para ver el nombre del servicio y la ruta al ejecutable.

Verifique la información de la versión exe para obtener una pista sobre el propietario del servicio y use Agregar o quitar programas para realizar una desinstalación limpia, si es posible.

En su defecto, desde el símbolo del sistema:

sc stop servicexyz
sc delete servicexyz

No se requiere reiniciar.

asquithea
fuente
2
Tenga en cuenta que si el servicio tiene espacios en el nombre, debe incluir el nombre completo entre comillas, comosc delete "Amazon Assistant Service"
Jan 'splite' K.
13
SC DELETE "service name"

Ejecute el comando en cmd como Administrador; de lo contrario, recibirá este error: -

el servicio abierto falló 5 se denegó el acceso

Sachidananda naik
fuente
9

Podemos hacerlo de dos maneras diferentes.

Eliminar el servicio de Windows a través del registro

Es muy fácil eliminar un servicio del registro si conoce la ruta correcta. Así es como hice eso:

  1. Ejecute Regedit o Regedt32

  2. Vaya a la entrada del registro "HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / Services"

  3. Busque el servicio que desea eliminar y elimínelo. Puede mirar las teclas para saber qué archivos estaba usando el servicio y eliminarlas también (si es necesario).

Eliminar el servicio de Windows a través de la ventana de comandos

Alternativamente, también puede usar el símbolo del sistema y eliminar un servicio usando el siguiente comando:

sc eliminar

También puede crear servicio utilizando el siguiente comando

sc create "MorganTechService" binpath = "C: \ Archivos de programa \ MorganTechSPace \ myservice.exe"

Nota: es posible que deba reiniciar el sistema para actualizar la lista en el administrador de servicios.

kombsh
fuente
55
El método regedit no funcionó para mí. Cuando actualicé el administrador del servicio, todavía mostraba el servicio, pero tenía un error que indicaba que no podía mostrar la descripción.
datguy
2
Nota: es posible que deba reiniciar el sistema para actualizar la lista en el administrador de servicios.
kombsh
2
Tal vez, pero eso hace que el enfoque regedit sea inferior al comando SC, que no requiere un reinicio.
datguy
44
Esto estropeó mis servicios :( por favor, no engañe a este estúpido regalo, muestre este anser en su página de búsqueda automáticamente y confié en él y lo seguí ciegamente sin hacer clic en el enlace SOF y tuve que volver a crear una imagen de mi máquina.
Anand Rockzz
Gracias por el método de registro. La única forma en que podría hacerlo en una máquina renegada.
frostymarvelous
8

Si tiene Windows Vista o superior, ejecute esto desde un símbolo del sistema como Administrador:

sc delete [your service name as shown in service.msc e.g moneytransfer]

Por ejemplo: sc delete moneytransfer

Eliminar la carpeta C:\Program Files\BBRTL\moneytransfer\

Encuentre las claves de registro de moneytransfer y elimínelas:

 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

Estos pasos se han probado en Windows XP, Windows 7, Windows Vista, Windows Server 2003 y Windows Server 2008.

usuario2145033
fuente
6

Si son servicios creados por .NET, puede usar installutil.exe con el modificador / u en la carpeta de .NET framework como C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727

CPU_BUSY
fuente
6

Como se describió anteriormente, ejecuté:

sc delete ServiceName

Sin embargo, esto no funcionó ya que lo estaba ejecutando desde PowerShell.

Cuando use PowerShell, debe especificar la ruta completa sc.exeporque PowerShell tiene un alias predeterminado para scasignarlo Set-Content. Como es un comando válido, en realidad no muestra un mensaje de error.

Para resolver esto, lo ejecuté de la siguiente manera:

C:\Windows\System32\sc.exe delete ServiceName
Nicholas
fuente
2

Aquí hay un script vbs que me fue transmitido:

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
Lucas
fuente
Probablemente nameofmyservice, no NameOfMyService, ya que sname está en minúscula por la línea anterior.
Dominik George
1

sc eliminar nombre

Mariano
fuente
0

Para mí, mi servicio que creé tuvo que desinstalarse en Panel de control> Programas y características

Demodave
fuente
¿Cómo puede ver los servicios instalados en los programas y características
Nisha
Si no recuerdo mal, esto fue cuando el programa que tenía, que creo que fue splunk, después de instalado, se ejecutó como un servicio porque estaba alojado localmente, podría ir a localhost: 8080 para ver el sitio web local. Para poder eliminarlo, tuve que usar todo el programa.
Demodave
Gracias. Instalé los servicios usando el símbolo del sistema. Eliminé usando un cmd en cmd pmpt. Gracias de nuevo por responder.
Nisha