जब सिस्टम पर इसके लिए कोई निष्पादन योग्य नहीं है, तो विंडोज सेवा की स्थापना रद्द कैसे करें?


166

जब सिस्टम पर इसके लिए कोई निष्पादन योग्य नहीं होता है तो मैं Windows सेवा की स्थापना कैसे रद्द करूं? मैं नहीं चला सकता installutil -uक्योंकि सिस्टम पर निष्पादन योग्य बाएं नहीं है। मैं अभी भी सेवा कंसोल में सेवा के लिए प्रविष्टि देख सकता हूं।

इस राज्य का कारण संभवतः msi पैकेज में एक समस्या है जो सेवा को सही ढंग से नहीं हटाती है, लेकिन इस राज्य में सेवा के ठीक होने पर मैं इसे कैसे ठीक करूं?


जवाबों:


325

आपको sc.exe का उपयोग करके इसे अनइंस्टॉल करने में सक्षम होना चाहिए (मुझे लगता है कि यह "Windows संसाधन किट में शामिल है)" प्रशासक "कमांड प्रॉम्प्ट में निम्नलिखित चलाकर:

sc.exe delete <service name>

<service name>सेवा का नाम ही कहां है जैसा कि आप इसे सेवा प्रबंधन कंसोल में देखते हैं, exe का नहीं।

आप सिस्टम फ़ोल्डर में sc.exe पा सकते हैं और इसे चलाने के लिए प्रशासनिक विशेषाधिकारों की आवश्यकता होती है। इस Microsoft KB आलेख में अधिक जानकारी

वैकल्पिक रूप से, आप सीधे DeleteService () एपीआई कॉल कर सकते हैं । यह तरीका थोड़ा और अधिक जटिल है, क्योंकि आपको OpenSCManager () इत्यादि के माध्यम से सेवा नियंत्रण प्रबंधक को एक हैंडल प्राप्त करने की आवश्यकता है , लेकिन दूसरी ओर यह आपको अधिक नियंत्रण देता है कि क्या हो रहा है।


यह वही था जो मैं चाहता था और रजिस्ट्री से सेवा को हटा दिया। यह सेवाओं में किसी भी अधिक सांत्वना नहीं दिखाता है। धन्यवाद!
मैग्नस लिंडे

मुझे "एक्सेस से वंचित किया गया है।" आगे क्या करना है?
निक

4
PowerShell 1 में विधि 1 में कमांड को निष्पादित करने की कोशिश करने वाले के लिए बस एक नोट: sc सेवा नियंत्रण प्रबंधक के साथ संचार करने के लिए नहीं है। यह सेट-कंटेंट कमांड है। इसके बजाय sc.exe का उपयोग करें।
यासिर सिनाज़ब

1
यदि आपको 1072 त्रुटि मिलती है, तो सुनिश्चित करें कि आपके पास सेवाएं नियंत्रण कक्ष खुला नहीं है ( यह अन्य प्रश्न देखें )
G17

मुझे नीचे त्रुटि मिल रही थी। [अनुसूचित जाति] ओपन सेवा १०६०: निर्दिष्ट सेवा एक स्थापित सेवा के रूप में मौजूद नहीं है। बाद में पावर शेल के साथ भी यही कोशिश की गई और यह काम कर गया!
crazydan

24

रजिस्ट्री के माध्यम से विंडोज सेवा निकालें

यदि आप सही रास्ता जानते हैं तो रजिस्ट्री से सेवा निकालना बहुत आसान है। यहाँ है कि मैं कैसे किया:

  1. Regedit या Regedt32 चलाएं

  2. रजिस्ट्री प्रविष्टि "HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / Services" पर जाएं

  3. उस सेवा को देखें जिसे आप हटाना चाहते हैं और उसे हटा दें। आप यह जानने के लिए कुंजी देख सकते हैं कि सेवा किन फ़ाइलों का उपयोग कर रही थी और उन्हें भी हटा दें (यदि आवश्यक हो)।

कमांड विंडो के जरिए विंडोज सर्विस को डिलीट करें

वैकल्पिक रूप से, आप कमांड प्रॉम्प्ट का उपयोग कर सकते हैं और निम्नलिखित कमांड का उपयोग करके किसी सेवा को हटा सकते हैं:

sc हटाना

आप निम्न आदेश का उपयोग करके सेवा भी बना सकते हैं

sc create "MorganTechService" binpath = "C: \ Program Files \ MorganTechSPace \" myservice.exe "

नोट: आपको सेवा प्रबंधक में सूची को अद्यतन करने के लिए सिस्टम को रिबूट करना पड़ सकता है।


3
क्या यह रजिस्ट्री तरीका सुरक्षित है? रजिस्ट्री का "अंतिम परिणाम" क्या "अंतिम परिणाम" के समान है sc delete?
पेसरियर

5
नहीं, मैंने सीधे regedit से एक सेवा को हटाने की कोशिश की। परिणामस्वरूप, अब मैं जिस सेवा को हटाना चाहता था, उसकी प्रविष्टि सेवा में बनी हुई है, जबकि इसका विवरण दिखाता है: "<F to Read Description। त्रुटि कोड: 2>"
GJ।

11

यहाँ पाया गया

मैं सिर्फ Windows XP पर कोशिश की, यह काम किया

स्थानीय कंप्यूटर: sc \\। हटाएं [सेवा-नाम]

  Deleting services in Windows Server 2003

  We can use sc.exe in the Windows Server 2003 to control services, create services and delete services. Since some people thought they must directly modify the registry to delete a service, I would like to share how to use sc.exe to delete a service without directly modifying the registry so that decreased the possibility for system failures.

  To delete a service: 

  Click “start“ - “run“, and then enter “cmd“ to open Microsoft Command Console.

  Enter command:

  sc servername delete servicename

  For instance, sc \\dc delete myservice

  (Note: In this example, dc is my Domain Controller Server name, which is not the local machine, myservice is the name of the service I want to delete on the DC server.)

  Below is the official help of all sc functions:

  DESCRIPTION:
    SC is a command line program used for communicating with the
    NT Service Controller and services. 
  USAGE:
          sc

10

सेवा को हटाने के लिए यहां पॉवरशेल स्क्रिप्ट है foo

$foo= Get-WmiObject -Class Win32_Service -Filter "Name='foo'"
$foo.delete()


3

एक ही सेवा के निष्पादनयोग्य की एक प्रति बनाएँ और मौजूदा सेवा के उसी पथ पर पेस्ट करें और फिर स्थापना रद्द करें।


यह एक अच्छा सुझाव है। यदि वह काम नहीं करता है तो उसे
इंस्टाल -यू

क्या हमें उसी exe की कॉपी बनानी होगी या किसी अन्य फाइल का नाम बदलकर ठीक काम करना होगा?
इमरान रिज़वी

@ शमिशा, मुझे लगा कि उन्होंने कहा कि उनके पास "फांसी की एक प्रति " नहीं है ?
पचेरियर

3

मैं इसके लिए PowerShell का उपयोग करूंगा

Remove-Service -Name "TestService"

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/remove-service


केवल PS6 में उपलब्ध
BozoJoe

मुझे नीचे त्रुटि मिल रही थी। [अनुसूचित जाति] ओपन सेवा १०६०: निर्दिष्ट सेवा एक स्थापित सेवा के रूप में मौजूद नहीं है। बाद में पॉवर शेल के साथ <सेवा नाम> को हटाने की कोशिश की और यह काम करता है! पावर शेल के विचार के लिए धन्यवाद।
crazydan
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.