Tôi đã tạo dịch vụ windows cho máy chủ tomcat và nó đang chạy tốt nhưng bây giờ tôi muốn thay đổi tên dịch vụ mà không xóa nó.
Vì vậy, có bất kỳ bước cmd \ GUI để thay đổi tên dịch vụ?
Tôi đã tạo dịch vụ windows cho máy chủ tomcat và nó đang chạy tốt nhưng bây giờ tôi muốn thay đổi tên dịch vụ mà không xóa nó.
Vì vậy, có bất kỳ bước cmd \ GUI để thay đổi tên dịch vụ?
Câu trả lời:
Câu trả lời của @ bfhd sẽ hoạt động nếu bạn chỉ muốn thay đổi Tên hiển thị (tên hiển thị trong danh sách Services.msc
, nhưng không phải là tên dịch vụ "thực" (là tên của khóa đăng ký chứa thông tin dịch vụ và được sử dụng trong API như OpenService
). Phần Nhận xét của bài viết MSDN này nói về tên dịch vụ so với tên hiển thị nhiều hơn một chút.
Thật không may, không có cách chính thức để thay đổi tên của một dịch vụ. Tuy nhiên, có lẽ là có thể, nếu bạn hoàn toàn phải đổi tên dịch vụ thay vì chỉ cài đặt lại dưới tên mới vì một số lý do. Làm như sau:
regedit.exe
(Trình chỉnh sửa sổ đăng ký).HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
và tìm khóa con với tên dịch vụ của bạn.Services.exe
, quá trình lưu trữ trình quản lý kiểm soát dịch vụ, sẽ không thấy thay đổi trừ khi bạn thực hiện; những nỗ lực để bắt đầu quá trình đổi tên (hoặc thực tế là tương tác với nó, thực sự) sẽ thất bại.Tôi không hứa gì về việc này. Tuy nhiên, có lẽ đáng để thử, nếu vì một lý do nào đó, chỉ cần cài đặt lại dịch vụ dưới một tên mới là không thể chấp nhận được.
Nếu bạn phải làm điều này theo chương trình, có thể tồn tại một chức năng RegRenameKey
có thể thực hiện bước thứ tư ở trên cho bạn. Tôi nhấn mạnh có thể tồn tại bởi vì, theo như tôi có thể nói, chức năng này là hoàn toàn không chính thức; Nó không có trong MSDN và có rất ít thông tin quý giá về nó. Điều duy nhất tôi tìm thấy, ngoài các tiêu đề Windows (có nguyên mẫu và chỉ ra rằng nó chỉ có trên Vista - NT6.0 - và mới hơn), là một bài đăng trên diễn đàn Sysiternals , chỉ ra rằng nó gọi là một tòa nhà chọc trời NT (cũng không có giấy tờ ). Nguyên mẫu hàm, từ WinReg.h
, là
WINADVAPI
LSTATUS
APIENTRY
RegRenameKey(
_In_ HKEY hKey,
_In_opt_ LPCWSTR lpSubKeyName,
_In_ LPCWSTR lpNewKeyName
);
Chương trình dòng lệnh Windows để thay đổi dịch vụ là "sc".
Đây là trang tham khảo của Microsoft: https://technet.microsoft.com/en-us/l Library / bb490995.aspx
Để thay đổi tên hiển thị của dịch vụ, bạn có thể chạy:
sc config "Old service name" displayname= "New service name"
Để thay đổi thực thi, bạn có thể chạy:
sc config "Service name" binpath= "C:\path\to\executable\here"
Đối với cả hai lệnh đó, hãy đảm bảo bạn có khoảng trắng giữa = và tên mới (nghĩa là displayname= "New Name"
, KHÔNG displayname="New Name"
)
[oldservicename]w.exe
ổ đĩa của bạn.