Respuestas:
Puede usar el sc config
comando para cambiar la ruta a la que apunta un servicio:
SC CONFIG YourServiceName binPath= "C:\SomeDirectory\YourFile.EXE"
Esto actualizará el servicio llamado YourServiceName
y cambiará la entrada "Ruta al ejecutable" C:\SomeDirectory\YourFile.EXE
. Después querrá reiniciar su servicio, lo que puede hacer con:
NET STOP YourServiceName & NET START YourServiceName
Path to executable
también contiene comillas y otros parámetros? Por ejemplo: "C:\Program Files\CollabNet\Subversion Server\svnserve.exe" --service -r "E:\Repositories" --listen-port "3690"
lamentablemente tuve que tomar la ruta regedit para esta.
Tendrá que hacer eso en el registro:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services
Navegue al servicio, luego modifique el nombre de la imagen para reflejar la nueva ruta
Como siempre, haga una copia de seguridad del sistema ANTES.
También puedes hacerlo con PowerShell:
Get-WmiObject win32_service -filter "Name='My Service'" `
| Invoke-WmiMethod -Name Change `
-ArgumentList @($null,$null,$null,$null,$null, `
"C:\Program Files (x86)\My Service\NewName.EXE")
O:
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Services\My Service" `
-Name ImagePath -Value "C:\Program Files (x86)\My Service\NewName.EXE"
La respuesta proporcionada anteriormente funciona muy bien, no puedo responderla, pero para agregar, en caso de que necesite comillas u otros argumentos en la ruta, digamos que para corregir una vulnerabilidad de ruta no citada en el registro, como una ruta de imagen, usted puede hacer lo siguiente desde CMD como administrador:
(por ejemplo, para C: \ Archivos de programa (x86) \ YourService \ YourProcess.exe)
SC CONFIG YourService binPath= "\"C:\Program Files (x86)\YourService\YourProcess.exe\"
puedes hacer lo siguiente desde powershell como administrador:
SC.exe CONFIG YourService binPath= --% "\"C:\Program Files (x86)\YourService\YourProcess.exe\"
Estos le darán el siguiente resultado:
"C:\Program Files (x86)\YourService\YourProcess.exe"
... argumentos sangrientos y parámetros de escape son una pesadilla! Espero que esto ayude a alguien en el futuro.
No puede editar directamente su ruta para ejecutar un servicio. Para eso puedes usar el comando sc,
Abra su símbolo del sistema como administrador y luego escriba el siguiente comando,
SC CONFIG ServiceName binPath= "Path of your file"
P.ej:
sc config MongoDB binPath="I:\Programming\MongoDB\MongoDB\bin\mongod.exe --config I:\Programming\MongoDB\MongoDB\bin\mongod.cfg --service"