Saya telah membuat layanan windows untuk tomcat server dan berfungsi dengan baik tetapi sekarang saya ingin mengubah nama layanan tanpa menghapusnya.
jadi apakah ada langkah cmd \ GUI untuk mengubah nama layanan?
sumber
Saya telah membuat layanan windows untuk tomcat server dan berfungsi dengan baik tetapi sekarang saya ingin mengubah nama layanan tanpa menghapusnya.
jadi apakah ada langkah cmd \ GUI untuk mengubah nama layanan?
@ bfhd akan bekerja jika Anda hanya ingin mengubah Nama Tampilan (yang merupakan apa yang ditampilkan dalam daftar Services.msc
, tetapi bukan nama layanan "asli" (yang merupakan nama kunci registri yang berisi informasi layanan, dan digunakan dalam API suka OpenService
) .Bagian Keterangan dari artikel MSDN ini berbicara tentang nama layanan vs nama tampilan sedikit lebih.
Sayangnya, tidak ada cara resmi untuk mengubah nama layanan. Namun, mungkin saja, jika Anda benar - benar harus mengganti nama layanan alih-alih menginstalnya kembali dengan nama baru karena suatu alasan. Lakukan hal berikut:
regedit.exe
(Editor Registri).HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
dan temukan subkunci dengan nama layanan Anda.Services.exe
, proses yang meng-host manajer kontrol layanan, tidak akan melihat perubahan kecuali jika Anda melakukannya; upaya untuk memulai proses yang diubah namanya (atau sebaliknya berinteraksi sama sekali, sebenarnya) akan gagal.Saya tidak menjanjikan ini bekerja. Mungkin patut dicoba, jika, karena alasan tertentu menginstal ulang layanan dengan nama baru sangat tidak dapat diterima.
Jika Anda harus melakukan ini secara terprogram, mungkin ada fungsi RegRenameKey
yang dapat melakukan langkah keempat di atas untuk Anda. Saya menekankan mungkin ada karena, sejauh yang saya tahu, fungsi ini sama sekali tidak resmi; itu bukan di MSDN dan ada sedikit info berharga tentang itu. Satu-satunya hal yang saya temukan, selain header Windows (yang memiliki prototipe, dan menunjukkan bahwa itu hanya pada Vista - NT6.0 - dan yang lebih baru), adalah posting forum Sysinternals , yang menunjukkan bahwa ia memanggil syscall NT (juga tidak berdokumen) ). Prototipe fungsi, dari WinReg.h
, adalah
WINADVAPI
LSTATUS
APIENTRY
RegRenameKey(
_In_ HKEY hKey,
_In_opt_ LPCWSTR lpSubKeyName,
_In_ LPCWSTR lpNewKeyName
);
Program baris perintah Windows untuk mengubah layanan adalah "sc".
Inilah halaman referensi Microsoft: https://technet.microsoft.com/en-us/library/bb490995.aspx
Untuk mengubah nama tampilan layanan, Anda dapat menjalankan:
sc config "Old service name" displayname= "New service name"
Untuk mengubah yang dapat dieksekusi, Anda dapat menjalankan:
sc config "Service name" binpath= "C:\path\to\executable\here"
Untuk kedua perintah tersebut, pastikan Anda memiliki spasi antara = dan nama baru (mis. displayname= "New Name"
, BUKAN displayname="New Name"
)
[oldservicename]w.exe
drive Anda. Jangan lupa ganti nama itu