इसे बनाने के बाद विंडोज़ सेवा नाम कैसे बदलें


20

मैंने tomcat सर्वर के लिए विंडोज़ सर्विस बनाई है और यह अच्छी तरह से चल रही है लेकिन अब मैं इसे डिलीट किए बिना सर्विस का नाम बदलना चाहता हूं।

सेवा नाम बदलने के लिए कोई cmd \ GUI चरण है?

जवाबों:


25

@ bfhd का उत्तर तब काम करेगा जब आप केवल प्रदर्शन नाम बदलना चाहते हैं (जो कि सूची में दिखाया गया है Services.msc, लेकिन "वास्तविक" सेवा का नाम नहीं है (जो रजिस्ट्री कुंजी का नाम है जिसमें सेवा की जानकारी है, और जिसका उपयोग किया गया है) APIs जैसे OpenService)। इस MSDN लेख के रिमार्क्स अनुभाग में सेवा नामों के बारे में बात की गई है।

दुर्भाग्य से, सेवा का नाम बदलने का कोई आधिकारिक तरीका नहीं है। हालांकि, यह संभव है, अगर आपको किसी कारण से नए नाम के तहत इसे फिर से स्थापित करने के बजाय पूरी तरह से सेवा का नाम बदलना चाहिए । निम्न कार्य करें:

  1. सेवा बंद करो। आप शायद सेवा नियंत्रण प्रबंधक को भ्रमित कर देंगे यदि आप इसे एक चालू सेवा पर करते हैं। (आप इसे किसी भी तरह से भ्रमित कर सकते हैं, यह बहुत हैक है।)
  2. खुला regedit.exe(रजिस्ट्री संपादक)।
  3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servicesअपनी सेवा के नाम के साथ उपकुंजी पर नेविगेट करें और खोजें।
  4. चरण # 3 में आपको मिली कुंजी को राइट-क्लिक करें और नाम बदलें का चयन करें। सेवा के लिए नया नाम दर्ज करें।
  5. कंप्यूटर को पुनरारंभ। Services.exe, सेवा नियंत्रण प्रबंधक को होस्ट करने वाली प्रक्रिया, जब तक आप नहीं करते तब तक परिवर्तन नहीं दिखेगा; नाम बदलकर प्रक्रिया शुरू करने का प्रयास (या अन्यथा इसके साथ बातचीत करना, वास्तव में) विफल हो जाएगा।

मैं इस काम का कोई वादा नहीं करता। यह शायद कोशिश करने लायक है, हालांकि, अगर किसी कारण से एक नए नाम के तहत सेवा को फिर से स्थापित करना अस्वीकार्य है।

यदि आपको यह प्रोग्रामेटिक रूप से करना चाहिए, तो एक फ़ंक्शन मौजूद हो सकता है जो RegRenameKeyआपके लिए ऊपर चौथा चरण कर सकता है। मुझे तनाव हो सकता है क्योंकि, जहां तक ​​मैं बता सकता हूं, यह कार्य पूरी तरह से अनौपचारिक है; यह MSDN में नहीं है और इसके बारे में बहुत कम जानकारी है। केवल एक चीज जो मुझे मिली, विंडोज हेडर के अलावा (जिसमें प्रोटोटाइप है, और यह इंगित करता है कि यह केवल विस्टा पर है - NT6.0 - और नया), एक Sysinternals फ़ोरम पोस्ट है , जो इंगित करता है कि यह NT syscall (undocumented भी कहता है) )। फ़ंक्शन प्रोटोटाइप, से WinReg.h, है

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

27

सेवाओं को बदलने के लिए विंडोज कमांड लाइन प्रोग्राम "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", नहींdisplayname="New Name")


1
यदि आपका टॉमकैट मॉनिटर प्रोग्राम का उपयोग करता है तो [oldservicename]w.exeआपके ड्राइव पर होगा । उस नाम को बदलना मत भूलिए
Marged

11
इससे सेवा का प्रदर्शन नाम बदल जाता है, सेवा नाम नहीं।
डेविड शेरेट

1
सेवा का नाम और प्रदर्शन नाम दो अलग-अलग चीजें हैं। प्रदर्शन नाम, आप इसे सेवा विंडो में पहली नज़र में देखते हैं। सेवा नाम, आपको इसे देखने के लिए गुण करना होगा।
सैंडबर्ग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.