Utworzyłem usługę systemu Windows dla serwera tomcat i działa ona dobrze, ale teraz chcę zmienić nazwę usługi bez jej usuwania.
więc czy są jakieś kroki cmd \ GUI, aby zmienić nazwę usługi?
Utworzyłem usługę systemu Windows dla serwera tomcat i działa ona dobrze, ale teraz chcę zmienić nazwę usługi bez jej usuwania.
więc czy są jakieś kroki cmd \ GUI, aby zmienić nazwę usługi?
Odpowiedzi:
Odpowiedź @ bfhd zadziała, jeśli chcesz tylko zmienić Nazwę wyświetlaną (która jest pokazana na liście w Services.msc, ale nie jest „prawdziwą” nazwą usługi (która jest nazwą klucza rejestru zawierającego informacje o usłudze i jest używana w Interfejsy API, takie jak OpenService) W części Uwagi w tym artykule MSDN omówiono nazwy usług w porównaniu z nazwami wyświetlanymi.
Niestety nie ma oficjalnego sposobu zmiany nazwy usługi. Jednakże, jest to prawdopodobnie możliwe, jeśli absolutnie muszą zmienić nazwę usługi, a nie tylko Ponowne zainstalowanie go pod nową nazwą dla jakiegoś powodu. Wykonaj następujące czynności:
regedit.exe(Edytor rejestru).HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servicesi znajdź podklucz z nazwą usługi.Services.exe, proces obsługujący menedżera kontroli usług, nie zobaczy zmiany, chyba że to zrobisz; próby rozpoczęcia procesu zmiany nazwy (lub w ogóle interakcji z nim w ogóle) zakończą się niepowodzeniem.Nie obiecuję, że to zadziała. Prawdopodobnie warto jednak spróbować, jeśli z jakiegoś powodu ponowna instalacja usługi pod nową nazwą jest tak niedopuszczalna.
Jeśli musisz to zrobić programowo, może istnieć funkcja, RegRenameKeyktóra może wykonać czwarty krok powyżej. Podkreślam, że może istnieć, ponieważ, o ile wiem, ta funkcja jest całkowicie nieoficjalna; nie ma go w MSDN i jest o nim niewiele cennych informacji. Jedyną rzeczą, którą znalazłem, oprócz nagłówków Windows (które mają prototyp i wskazują, że jest to tylko w systemie Vista - NT6.0 - i nowszych), jest post na forum Sysinternals , który wskazuje, że wywołuje wywołanie systemowe NT (również nieudokumentowane ). Prototypem funkcji od WinReg.hjest
WINADVAPI
LSTATUS
APIENTRY
RegRenameKey(
_In_ HKEY hKey,
_In_opt_ LPCWSTR lpSubKeyName,
_In_ LPCWSTR lpNewKeyName
);
Program wiersza poleceń systemu Windows do zmiany usług to „sc”.
Oto strona referencyjna Microsoft: https://technet.microsoft.com/en-us/library/bb490995.aspx
Aby zmienić wyświetlaną nazwę usługi, możesz uruchomić:
sc config "Old service name" displayname= "New service name"
Aby zmienić plik wykonywalny, możesz uruchomić:
sc config "Service name" binpath= "C:\path\to\executable\here"
Dla obu tych poleceń, upewnij się, że przestrzeń między = i nową nazwę (tj. displayname= "New Name", NOT displayname="New Name" )
[oldservicename]w.exena dysku pojawi się symbol. Nie zapomnij zmienić tej nazwy