Tomcat sunucusu için windows hizmeti oluşturdum ve iyi çalışıyor ama şimdi silmeden hizmet adını değiştirmek istiyorum.
hizmet adını değiştirmek için herhangi bir cmd \ GUI adımları var mı?
Tomcat sunucusu için windows hizmeti oluşturdum ve iyi çalışıyor ama şimdi silmeden hizmet adını değiştirmek istiyorum.
hizmet adını değiştirmek için herhangi bir cmd \ GUI adımları var mı?
Yanıtlar:
@ bfhd'nin yanıtı, yalnızca Görünen Adı (listede gösterilen şeydir Services.msc
, ancak "gerçek" hizmet adı (hizmet bilgilerini içeren kayıt defteri anahtarının adıdır) ve API'ler gibi OpenService
). bölümüne Açıklamalar Bu MSDN makalede biraz daha görünen adları vs hizmet adları hakkında görüşmelerde.
Ne yazık ki, bir hizmetin adını değiştirmenin resmi bir yolu yoktur. Ancak, bir nedenle herhangi bir nedenle yeni adla yeniden yüklemek yerine hizmeti kesinlikle yeniden adlandırmanız gerekiyorsa , muhtemelen mümkündür . Aşağıdakileri yapın:
regedit.exe
(Kayıt Defteri Düzenleyicisi) öğesini açın .HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
Hizmetinizin adının bulunduğu alt anahtara gidin ve bulun.Services.exe
, hizmet denetim yöneticisini barındıran işlem, siz değiştirmedikçe değişikliği görmez; yeniden adlandırılan işlemi başlatma girişimleri (veya aslında başka bir şekilde etkileşimde bulunma) başarısız olur.Bu işe söz vermiyorum. Herhangi bir nedenle sadece yeni bir adla hizmeti yeniden yüklemek çok kabul edilemez ise, muhtemelen denemeye değer.
Bu program kullanarak yapmak gerekiyorsa, orada olabilecek bir işlev var RegRenameKey
sizin için yukarıda dördüncü adımı yapabilirsiniz. Ben stres olabilir , şimdiye kadar söyleyebilirim, bu fonksiyon tamamen gayri resmi olduğu için mevcut; MSDN'de değil ve bu konuda çok az bilgi var. Windows üstbilgileri dışında bulduğum tek şey (prototipi olan ve yalnızca Vista - NT6.0 - ve daha yeni sürümlerde olduğunu gösteren), bir NT syscall (ayrıca belgesiz) olarak adlandırdığını gösteren bir Sysinternals forum postası ). Fonksiyon prototip gelen WinReg.h
, olan
WINADVAPI
LSTATUS
APIENTRY
RegRenameKey(
_In_ HKEY hKey,
_In_opt_ LPCWSTR lpSubKeyName,
_In_ LPCWSTR lpNewKeyName
);
Hizmetleri değiştirmek için Windows komut satırı programı "sc" dir.
İşte Microsoft başvuru sayfası: https://technet.microsoft.com/en-us/library/bb490995.aspx
Bir hizmetin görünen adını değiştirmek için şunları yapabilirsiniz:
sc config "Old service name" displayname= "New service name"
Yürütülebilir dosyayı değiştirmek için şunları çalıştırabilirsiniz:
sc config "Service name" binpath= "C:\path\to\executable\here"
Bu komutların her ikisi için, = ve yeni ad arasında bir boşluk olduğundan emin olun (örn. displayname= "New Name"
, NOT displayname="New Name"
)
[oldservicename]w.exe
sürücünüzde bir. Bu adı değiştirmeyi unutmayın