Windows 서비스 이름을 만든 후 변경하는 방법


20

Tomcat 서버에 대한 Windows 서비스를 만들었으며 제대로 실행되고 있지만 서비스 이름을 삭제하지 않고 변경하고 싶습니다.

서비스 이름을 변경하는 cmd \ GUI 단계가 있습니까?

답변:


25

@bfhd의 답변은 표시 이름 (의 목록에 표시되어 Services.msc있지만 "실제"서비스 이름이 아님) 을 변경하려는 경우 작동합니다 (서비스 정보가 들어있는 레지스트리 키의 이름이며 API는 좋아 OpenService).는 섹션 비고 이 MSDN 기사 좀 더 표시 이름 대 서비스 이름에 대한 이야기를.

불행히도 서비스 이름을 변경하는 공식적인 방법은 없습니다. 당신이 절대적 그러나, 그것은 아마도 수 있어야 대신 어떤 이유로 새 이름으로 설치하는 다시의 서비스 이름을 바꿉니다. 다음을 수행하십시오.

  1. 서비스를 중지하십시오. 실행중인 서비스에서이 작업을 수행하면 서비스 제어 관리자가 혼동 될 수 있습니다. (어쨌든 혼동을 일으킬 수 있습니다. 이것은 매우 해키입니다.)
  2. regedit.exe(레지스트리 편집기)를 엽니 다 .
  3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services서비스 이름이있는 하위 키로 이동하여 찾습니다.
  4. 3 단계에서 찾은 키를 마우스 오른쪽 단추로 클릭하고 이름 바꾸기를 선택하십시오. 서비스의 새 이름을 입력하십시오.
  5. 컴퓨터를 다시 시작하십시오. Services.exe서비스 제어 관리자를 호스팅하는 프로세스는 변경하지 않으면 변경 사항을 볼 수 없습니다. 이름이 바뀐 프로세스를 시작하려고 시도하거나 실제로 상호 작용하면 실패합니다.

나는이 일을 약속하지 않습니다. 그러나 어떤 이유로 든 새로운 이름으로 서비스를 다시 설치하는 것이 허용되지 않는 경우 시도해 볼 가치가 있습니다.

이 프로그램을 수행해야하는 경우가 있습니다 함수가 존재 RegRenameKey하면 위의 네 번째 단계를 할 수 있습니다. 내가 말할 수있는 한,이 기능은 완전히 비공식적이므로 스트레스 존재할 수 있습니다. MSDN에 없으며 귀중한 정보가 거의 없습니다. Windows 헤더 (프로토 타입이 있고 Vista-NT6.0 이상에서만 나타남)를 제외하고 내가 찾은 유일한 것은 Sysinternals forum post 이며 NT syscall (또한 문서화되지 않음)을 호출 함을 나타냅니다. ). 의 함수 프로토 타입 WinReg.h

WINADVAPI
LSTATUS
APIENTRY
RegRenameKey(
    _In_ HKEY hKey,
    _In_opt_ LPCWSTR lpSubKeyName,
    _In_ LPCWSTR lpNewKeyName
);

26

서비스를 변경하기위한 Windows 명령 행 프로그램은 "sc"입니다.

다음은 Microsoft 참조 페이지입니다. https://technet.microsoft.com/en-us/library/bb490995.aspx

서비스의 표시 이름을 변경하려면 다음을 수행하십시오.

sc config "Old service name" displayname= "New service name"

실행 파일을 변경하려면 다음을 실행할 수 있습니다.

sc config "Service name" binpath= "C:\path\to\executable\here"

이러한 명령을 모두 들어 있는지 당신은 = 새 이름 사이에 공백이 있는지 확인하십시오 (예. displayname= "New Name", NOT displayname="New Name" )


1
바람둥이가 모니터 프로그램을 사용하는 경우 [oldservicename]w.exe드라이브에 있습니다. 그 이름을 바꾸는 것을 잊지 마십시오
Marged

11
서비스 이름이 아닌 서비스 표시 이름이 변경됩니다.
David Sherret

1
서비스 이름과 표시 이름은 서로 다릅니다. 표시 이름, 서비스 창에서 언뜻 볼 수 있습니다. 서비스 이름을 보려면 속성을 수행해야합니다.
Sandburg
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.