Saya ingin mengubah jalur ke executable untuk layanan dari baris perintah.
Bagaimana saya bisa melakukan itu?
Saya ingin menjalankan .EXE lain dari jalur layanan ke executable.
Saya ingin mengubah jalur ke executable untuk layanan dari baris perintah.
Bagaimana saya bisa melakukan itu?
Saya ingin menjalankan .EXE lain dari jalur layanan ke executable.
Jawaban:
Anda dapat menggunakan sc config
perintah untuk mengubah jalur yang ditunjuk layanan:
SC CONFIG YourServiceName binPath= "C:\SomeDirectory\YourFile.EXE"
Ini akan memperbarui layanan yang dipanggil YourServiceName
dan mengubah entri "Path to Executable" menjadi C:\SomeDirectory\YourFile.EXE
. Anda akan ingin memulai kembali layanan Anda setelahnya, yang dapat Anda lakukan dengan:
NET STOP YourServiceName & NET START YourServiceName
Path to executable
juga berisi kutipan dan parameter lainnya? Sebagai contoh: "C:\Program Files\CollabNet\Subversion Server\svnserve.exe" --service -r "E:\Repositories" --listen-port "3690"
Saya sedih harus pergi rute regedit untuk yang satu ini.
Anda harus melakukan itu di registri:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services
Arahkan ke layanan, lalu ubah nama gambar untuk mencerminkan jalur baru
Seperti biasa, buat cadangan sistem SEBELUMNYA.
Anda juga bisa melakukannya dengan 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")
Atau:
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Services\My Service" `
-Name ImagePath -Value "C:\Program Files (x86)\My Service\NewName.EXE"
Jawaban yang diberikan di atas berfungsi dengan baik, saya tidak bisa menjawabnya, tetapi untuk menjumlahkan, jika Anda perlu memiliki kutipan atau argumen lain di jalur, katakan untuk memperbaiki kerentanan jalur yang tidak dikutip dalam registri, seperti sebuah imagepath, Anda dapat melakukan hal berikut dari CMD sebagai admin:
(mis. untuk C: \ Program Files (x86) \ YourService \ YourProcess.exe)
SC CONFIG YourService binPath= "\"C:\Program Files (x86)\YourService\YourProcess.exe\"
Anda dapat melakukan hal berikut dari PowerShell sebagai admin:
SC.exe CONFIG YourService binPath= --% "\"C:\Program Files (x86)\YourService\YourProcess.exe\"
Ini akan memberi Anda hasil berikut:
"C:\Program Files (x86)\YourService\YourProcess.exe"
... argumen berdarah dan melarikan diri parameter adalah mimpi buruk! Semoga ini bisa membantu seseorang di masa depan.
Anda tidak dapat langsung mengedit jalur Anda untuk mengeksekusi layanan. Untuk itu Anda bisa menggunakan perintah sc,
Buka prompt perintah Anda sebagai administrator, lalu ketik perintah berikut,
SC CONFIG ServiceName binPath= "Path of your file"
Misalnya:
sc config MongoDB binPath="I:\Programming\MongoDB\MongoDB\bin\mongod.exe --config I:\Programming\MongoDB\MongoDB\bin\mongod.cfg --service"