Dies kann auch über eine Eingabeaufforderung mit erhöhten Rechten mithilfe des sc
Befehls erfolgen. Die Syntax lautet:
sc config [service name] depend= <Dependencies(separated by / (forward slash))>
Hinweis : Nach dem Gleichheitszeichen ist ein Leerzeichen und davor kein Leerzeichen .
Warnung : Der depend=
Parameter überschreibt die vorhandene Abhängigkeitsliste und hängt sie nicht an. Wenn ServiceA beispielsweise bereits von ServiceB und ServiceC abhängt und Sie ausgeführt werden depend= ServiceD
, hängt ServiceA jetzt nur von ServiceD ab. (Danke Matt !)
Beispiele
Abhängigkeit von einem anderen Dienst:
sc config ServiceA depend= ServiceB
Oben bedeutet, dass ServiceA erst startet, wenn ServiceB gestartet wurde. Wenn Sie ServiceB beenden, wird ServiceA automatisch beendet.
Abhängigkeit von mehreren anderen Diensten:
sc config ServiceA depend= ServiceB/ServiceC/ServiceD/"Service Name With Spaces"
Oben bedeutet, dass ServiceA erst gestartet wird, wenn ServiceB, ServiceC und ServiceD alle gestartet wurden. Wenn Sie ServiceB, ServiceC oder ServiceD beenden, wird ServiceA automatisch beendet.
So entfernen Sie alle Abhängigkeiten:
sc config ServiceA depend= /
So listen Sie aktuelle Abhängigkeiten auf:
sc qc ServiceA
sc qc [service name]
commandsc.exe
andere Methode verwenden. Andernfalls wird der folgende Fehler angezeigt : 'Es kann kein Positionsparameter gefunden werden, der ein Argument akzeptiert'Sie können Dienstabhängigkeiten hinzufügen, indem Sie dem Dienst in der Registrierung den Wert "DependOnService" mit dem
regedit
Befehl hinzufügen. Dienste finden Sie unterHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<Service name>
. Die Details finden Sie im MS KB-Artikel 193888 , aus dem der folgende Auszug stammt:quelle
Ich suchte nach einer reinen PowerShell-Methode (keine regedit- oder sc.exe-Methode), die unter 2008R2 / Win7 und neueren Versionen funktioniert.
Mit PowerShell ist es ganz einfach, das Regedit durchzuführen:
Oder mit WMI:
Die Change- Methode der Win32_Service-Klasse hat auf eine Lösung hingewiesen:
quelle
Ich habe eine einfache .net-Anwendung geschrieben, um Dienstabhängigkeiten zu verwalten, wenn Sie interessiert sind. Es ist kostenlos.
http://webpages.charter.net/bushman4/servicedependencymanager.html
quelle
In C ++ (ATL) hat mir das gefallen
quelle