¿Se ha encontrado con una situación en la que la desinstalación de un software deja sus entradas de servicio o controlador en el registro y Windows intenta cargarlas en cada arranque, falla y registra el error en el registro de eventos del sistema en cada inicio?
Esta publicación le dice cómo eliminar un servicio huérfano en Windows 10, 8, 7 y Vista usando el registro, la línea de comandos SC.exe o usando Autoruns. Antes de continuar, cree un punto de Restauración del sistema y / o una copia de seguridad completa del Registro.
Contenido
- Eliminar un servicio en Windows
- Método 1: usar el comando SC.EXE
- Método 2: Usando Autoruns
- Método 3: Usando el Editor del Registro
- Método 4: usar PowerShell
- INFORMACIÓN: Ver dependientes de un servicio
¿Cómo eliminar un servicio en Windows?
Si encuentra que no existen dependientes para un servicio, puede proceder a eliminar el Servicio sobrante o no deseado en Windows utilizando uno de los siguientes métodos.
Método 1: eliminar un servicio con el comando SC.EXE
La herramienta de línea de comandos SC en Windows se puede usar para crear, editar o eliminar Servicios. Para eliminar un servicio en Windows, use la siguiente sintaxis de línea de comandos desde el símbolo del sistema admin:
sc eliminar nombre_servicio
Donde nombre_servicio se refiere al nombre corto o al nombre clave del servicio, en lugar de su nombre para mostrar. Para encontrar el nombre corto, abra Servicios MMC y haga doble clic en un servicio.
- Ejemplo 1: El nombre corto para las Actualizaciones automáticas es
wuauserv
, y el nombre para mostrar es "Actualizaciones automáticas". - Ejemplo 2: Google Update Service (gupdate) es el nombre para mostrar, y
gupdate
es el nombre corto
Otra forma de encontrar el nombre corto de un servicio es mediante esta línea de comando:
sc getkeyname "nombre para mostrar del servicio"
que en este ejemplo es:
sc getkeyname "Servicio de actualización de Google (gupdate)"
Una vez que se obtiene el nombre corto del servicio utilizando cualquiera de los métodos anteriores, use este comando para eliminar el Servicio:
sc eliminar prueba
Verá el resultado: [SC] DeleteService SUCCESS
Esto elimina el servicio especificado (servicio de "prueba" en este ejemplo) de la computadora.
Si el servicio se está ejecutando u otro proceso tiene un identificador abierto para el servicio, el servicio simplemente se marcará para su eliminación y se eliminará en el próximo reinicio.
Método 2: elimine un servicio utilizando Autoruns de Windows Sysinternals
Autoruns, de Microsoft Windows Sysinternals, es una herramienta imprescindible que le ayuda a administrar el inicio de Windows, los servicios, los controladores, los proveedores de Winsock, los complementos de Internet Explorer, las extensiones de Shell y mucho más.
- Descarga Autoruns y ejecútalo
- En la pestaña Opciones, marque Ocultar entradas de Microsoft para que solo se enumeren las entradas de terceros.
- Presione F5 para actualizar la lista.
- Haga clic en la pestaña Servicios, desde donde puede eliminar los servicios no deseados o sobrantes.
- Cerrar Autoruns.
Método 3: eliminar un servicio con el Editor del registro
Para eliminar manualmente un servicio del registro de Windows, siga estos pasos:
- Inicie
Regedit.exe
y navegue a la siguiente rama:HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services
Cada subclave debajo de la clave de registro anterior representa un controlador o un Servicio. El nombre clave también es el nombre corto del servicio. Además, debe poder identificar la entrada fácilmente mirando los valores DisplayName e ImagePath en el panel derecho en el Editor del registro.
- Encuentra la entrada que deseas eliminar.
- Haga una copia de seguridad de la clave apropiada al exportarla a un archivo .reg.
- Una vez exportado, haga clic con el botón derecho en la clave y elija Eliminar.
- Salga del Editor del registro.
Método 4: eliminar un servicio con PowerShell
Desde la ventana del administrador de PowerShell, puede usar los siguientes comandos para eliminar un servicio.
$ service = Get-WmiObject -Class Win32_Service -Filter "Name = 'servicename'" $ service.delete ()
El valor de retorno de 0
indica que la operación fue exitosa. El servicio se elimina y ahora ya no aparecerá en la MMC de servicios.
Para conocer el significado de un valor de retorno, consulte el artículo de Microsoft Eliminar método de la clase Win32_Service
O puede ejecutar el comando sc.exe en PowerShell. Eso también funcionaría. Pero debe usar la extensión de archivo (sc.exe
) al ejecutarlo en PowerShell. Esto se debe a que el comando SC
(sin mencionar la extensión .exe
) se interpretará como Set-Content
que es un cmdlet incorporado en PowerShell. Es aún más fácil si tiene instalado PowerShell 6.0. En PowerShell 6 y versiones posteriores, puede usar esta sintaxis para eliminar un servicio:
Remove-Service -Name ServiceName
La ejecución del comando Remove-Service
en versiones anteriores de PowerShell (<6.0) muestra el error: el término 'Remove-Service' no se reconoce como el nombre de un cmdlet, función, archivo de script o programa operable.
Ver dependientes de un servicio
Cuando elimina un servicio, otros que dependen del servicio no pueden iniciarse, devolviendo el error “ Se produjo el error 1075 del sistema. El servicio de dependencia no existe o se ha marcado para su eliminación ". Cuando queda una entrada de controlador o servicio en el registro pero faltan los archivos correspondientes, el Registro de eventos registraría una entrada con ID:7000
en cada inicio.
Fuente: Gerente de Control de Servicio
Fecha:
Id. De evento: 7000
Nivel: error
Descripción:
El servicio DgiVecp no pudo iniciarse debido al siguiente error:
El sistema no puede encontrar el archivo especificado.
Por lo tanto, es recomendable verificar primero si hay dependientes. Puede verificar eso en Servicios MMC haciendo doble clic en el elemento que va a eliminar y haciendo clic en la pestaña Dependencias. La lista de componentes que dependen de ese servicio se muestra a continuación. Aquí hay un ejemplo, donde "Fax" depende de "Cola de impresión" para comenzar.
Si bien la mayoría de los servicios de terceros no tienen dependientes, algunos sí. Siempre es recomendable echar un vistazo a esta pestaña antes de borrar el elemento.
Otra forma de verificar los dependientes es ejecutar este comando desde una ventana del símbolo del sistema. (ejemplo, cola de impresión )
sc enumdepend spooler
La información de este artículo se aplica a todas las versiones de Windows, incluido Windows 10.