Wie ändere ich den Pfad zur ausführbaren Datei für einen Windows-Dienst?

Wie ändere ich den Pfad zur ausführbaren Datei für einen Windows-Dienst?

Ich möchte den Pfad zur ausführbaren Datei für einen Dienst über die Befehlszeile ändern.

Wie kann ich das machen?

Ich möchte eine andere EXE-Datei vom Pfad dieses Dienstes zur ausführbaren Datei ausführen.

Antwort1

Mit dem folgenden Befehl können Sie sc configden Pfad ändern, auf den ein Dienst verweist:

SC CONFIG YourServiceName binPath= "C:\SomeDirectory\YourFile.EXE"

Dadurch wird der aufgerufene Dienst aktualisiert YourServiceNameund der Eintrag „Pfad zur ausführbaren Datei“ in geändert C:\SomeDirectory\YourFile.EXE. Sie sollten Ihren Dienst anschließend neu starten. Dies können Sie folgendermaßen tun:

NET STOP YourServiceName & NET START YourServiceName

Antwort2

Sie müssen dies in der Registrierung tun:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

Navigieren Sie zum Dienst und ändern Sie dann den Bildnamen, um den neuen Pfad widerzuspiegeln

Wie immer gilt: Vorher ein Backup des Systems erstellen.

Antwort3

Die oben angegebene Antwort funktioniert hervorragend, ich kann nicht darauf antworten, aber um es noch zu ergänzen: Falls Sie Anführungszeichen oder andere Argumente im Pfad benötigen, beispielsweise um eine Schwachstelle in einem nicht in Anführungszeichen gesetzten Pfad in der Registrierung zu beheben, wie z. B. einen Bildpfad, können Sie Folgendes tunvon CMDals Admin:

(zB für C:\Program Files (x86)\YourService\YourProcess.exe)

SC CONFIG YourService binPath= "\"C:\Program Files (x86)\YourService\YourProcess.exe\"

Sie können Folgendes tunvon Powershellals Admin:

 SC.exe CONFIG YourService binPath= --% "\"C:\Program Files (x86)\YourService\YourProcess.exe\"

Sie erhalten das folgende Ergebnis:

"C:\Program Files (x86)\YourService\YourProcess.exe"

... blutige Argumente und entkommende Parameter sind ein Albtraum! Hoffe, das hilft jemandem in der Zukunft.

Antwort4

Sie können Ihren Pfad zur Ausführung eines Dienstes nicht direkt bearbeiten. Dafür können Sie den Befehl sc verwenden.

Öffnen Sie Ihre Eingabeaufforderung als Administrator und geben Sie den folgenden Befehl ein:

SC CONFIG ServiceName binPath= "Path of your file"

Z.B:

sc config MongoDB binPath="I:\Programming\MongoDB\MongoDB\bin\mongod.exe --config I:\Programming\MongoDB\MongoDB\bin\mongod.cfg --service"

verwandte Informationen