Esto también se puede hacer a través de un símbolo del sistema elevado utilizando el 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 hay no tiene ante sí.
Advertencia : el depend=
parámetro sobrescribirá la lista de dependencias existentes, no se agregará. Entonces, por ejemplo, si ServiceA ya depende de ServiceB y ServiceC, si ejecuta depend= ServiceD
, ServiceA ahora solo dependerá de ServiceD. (¡Gracias Matt !)
Ejemplos
Dependencia de otro servicio:
sc config ServiceA depend= ServiceB
Arriba significa que el Servicio A no se iniciará hasta que el Servicio B haya comenzado. Si detiene el Servicio B, el Servicio A se detendrá automáticamente.
Dependencia de múltiples otros servicios:
sc config ServiceA depend= ServiceB/ServiceC/ServiceD/"Service Name With Spaces"
Lo anterior significa que ServiceA no se iniciará hasta que ServiceB, ServiceC y ServiceD hayan comenzado. Si detiene cualquiera de ServiceB, ServiceC o ServiceD, ServiceA se detendrá automáticamente.
Para eliminar todas las dependencias:
sc config ServiceA depend= /
Para enumerar las dependencias actuales:
sc qc ServiceA
sc qc [service name]
comandosc.exe
contrario obtendrá un error: 'No se puede encontrar un parámetro posicional que acepte el argumento'Puede agregar dependencias de servicio agregando el valor "DependOnService" al servicio en el registro utilizando el
regedit
comando, los servicios se pueden encontrar enHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<Service name>
. Los detalles se pueden encontrar en el artículo 193888 de MS KB , del cual lo siguiente es un extracto de:fuente
Estaba buscando un método puramente PowerShell (sin regedit o sc.exe) que pueda funcionar en 2008R2 / Win7 y versiones posteriores, y se me ocurrió esto:
Fácil es hacer el regedit con PowerShell:
O, usando WMI:
El método Change de la clase Win32_Service ayudó a señalar una solución:
fuente
Escribí una aplicación .net simple para administrar las dependencias de servicio, si está interesado. Es gratis.
http://webpages.charter.net/bushman4/servicedependencymanager.html
fuente
En C ++ (ATL) me gustó esto
fuente