140 votos

Cómo agregar la dependencia de un Servicio de Windows una vez instalado el servicio

Tengo un Servicio de Windows que hace uso de una base de datos SQL Server. No tengo control sobre la instalación del servicio, pero quisiera agregar una dependencia en el servicio para garantizar que se inicia después de SQL server se ha iniciado. (SQL server se está ejecutando en la misma máquina que el servicio en cuestión)

Hay una herramienta para agregar una dependencia o posiblemente modificando directamente el registro?

208voto

Kip Puntos 1295

Esto también puede ser hecho a través de un símbolo del sistema elevado uso de la sc comando. La sintaxis es:

sc config [service name] depend= <Dependencies(separated by / (forward slash))>

Nota: Hay un espacio después del signo igual, y no es que no antes que él.

Advertencia: depend= parámetro va a sobrescribir el existente de la lista de dependencias, no anexar. Así, por ejemplo, si ServiceA ya depende de ServiceB y ServiceC, si ejecuta depend= ServiceD, ServiceA ahora dependen sólo de Mantenimiento. (Gracias Matt!)

Ejemplos

La dependencia de otro servicio:

sc config ServiceA depend= ServiceB

Por encima de los medios que ServiceA no se iniciará hasta que ServiceB ha comenzado. Si usted deja de ServiceB, ServiceA se detendrá automáticamente.

La dependencia de otras múltiples servicios:

sc config ServiceA depend= ServiceB/ServiceC/ServiceD

Por encima de los medios que ServiceA no se iniciará hasta que ServiceB, ServiceC y con los servicios han comenzado. Si usted deja de cualquiera de ServiceB, ServiceC, o Reparado, ServiceA se detendrá automáticamente.

Para quitar todas las dependencias:

sc config ServiceA depend= /

A la actual lista de dependencias:

sc qc ServiceA

42voto

EtienneT Puntos 1552

Usted puede agregar las dependencias de los servicios mediante la adición de la "DependOnService" el valor para el servicio en el registro de la regedit comando, los servicios pueden ser encontrados bajo HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<Service name>. Los detalles se pueden encontrar en el artículo de microsoft knowledge base 193888, a partir de la cual el siguiente es un extracto de:

Para crear una nueva dependencia, seleccione el subclave que representa el servicio que quiere retrasar, haga clic en Editar y, a continuación, haga clic en Agregar Valor. Crear un nuevo valor el nombre de "DependOnService" (sin las las comillas) con un tipo de datos de REG_MULTI_SZ, y, a continuación, haga clic en ACEPTAR. Cuando los Datos del cuadro de diálogo que aparece, escriba el nombre o nombres de los servicios que usted prefieren empezar antes de que este servicio con una entrada para cada línea y, a continuación, haga clic en ACEPTAR.

1voto

Glenn Sullivan Puntos 883

Escribí un simple .neto de la aplicación para gestionar las dependencias de servicio, si usted está interesado. Es gratis.

http://webpages.charter.net/bushman4/servicedependencymanager.html

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: