2012-11-01 24 views
5

का उपयोग कर विंडोज सेवा को सक्षम/अक्षम करें बैच फ़ाइलों का उपयोग कर विंडोज सेवा को सक्षम और अक्षम करने का कोई तरीका है। मैं नेट स्टार्ट और नेट स्टॉप कमांड का उपयोग करके सेवाओं के स्टार्टअप प्रकार को बदलने और अक्षम करने और शुरू करने और रोकने से बात करने की बात कर रहा हूं।बैच फ़ाइल

उत्तर

14
sc config <service_name> start= disabled 

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

sc config ServiceName start= flag 

यहां सेवा नाम सेवा का नाम है और ध्वज मूल्यों में से एक है ऑटो, मांग। या अक्षम उदाहरण के लिए, मैन्युअल रूप से आदेश को चलाने के लिए एक सेवा स्थापित करने के लिए

sc config ServiceName start= demand 

ध्यान दें कि वहाँ एक अंतरिक्ष के बाद बराबर चिह्न होना चाहिए है। पैरामीटर सर्विसनाम के लिए सही मान हमेशा स्पष्ट नहीं हो सकता है और अगली कमांड का उपयोग सभी सेवाओं के लिए इसे खोजने के लिए किया जा सकता है।

3
sc config <service_name> start= disabled 
+0

बहुत बहुत धन्यवाद .. आकर्षण की तरह काम किया .. समाधान को और स्पष्ट करने के लिए कुछ और विकल्प जोड़े गए .. – Gautam

0
sc \\servername config <service_name> Start= auto >> c:\temp\sc.txt 

सेवा की शुरुआत प्रकार बदलता है और c:\temp\sc.txt में उत्पादन लॉग करता है।

sc \\servername start <service_name> >> c:\temp\sc1.txt 

सेवा शुरू होता है और c:\temp\sc.txt में उत्पादन लॉग करता है।

+2

क्या आप इसे थोड़ा प्रारूपित कर सकते हैं? – Miki

+0

मैंने इसे दोबारा सुधार दिया। –

0

मेरे पास एक उत्तर और एक प्रश्न है। मैं एक साथ इस एक लाइन डाल दिया है सेवाओं को निष्क्रिय करने के लिए

sc query "wsearch"| find "RUNNING" >nul 2>&1 && net stop "wsearch" && sc config "wsearch" start= disabled 

यह चला रहे अक्षम करें और रोकने के लिए प्रयास करने से पहले सेवा की जाँच करेगा। कुछ मुझे मैनुअल में बदलना पसंद है।

किसी ने मुझे एक पाश

for loop sc query "wsearch"| find "RUNNING" >nul 2>&1 && net stop "wsearch" && sc config "wsearch" start= disabled 

servicename1 servicename2 servicename3 endif में इस स्निपेट यहीं मदद कर सकते हैं .....

इस तरह से मैं एक खंड बना सकते हैं और सभी सेवा मैं दर्ज एक ही फाइल में स्थिति बदलना चाहते हैं।

0

मैं गाँठ इस थोड़ी देर हो चुकी है, लेकिन किसी को भी भविष्य में इस पार चला सकता है के लिए, यह एक छोटे से आवेदन टुकड़ा मैं एक DB बैकेंड के साथ लिखा है, सरणी, इसके माध्यम से पाश का निर्माण और

भेज
For SrvLoop As Integer = 0 To UBound(SrverName) - 1 
     services = ServiceController.GetServices(SrverName(SrvLoop)) 
     For Each ChkLV In myobj.Items 
      Srv = ChkLV.SubItems(3).Text 
      i = ChkLV.SubItems(0).Text 
      If ChkLV.Selected = True And Srv = SrverName(SrvLoop) Then 
       Select Case Command 
        Case 1 
         If services(i).Status <> ServiceControllerStatus.Running Then 
          services(i).Start() 
         Else 
          MsgBox("Cannot Start a Service that is already Running", MsgBoxStyle.Information) 
         End If 
        Case 2 
         'If services(i).CanStop Then 
         If services(i).Status <> ServiceControllerStatus.Stopped Then 
          services(i).Stop() 
          'Else 
          ' If services(i).Status <> ServiceControllerStatus.Stopped Then 
          '  MsgBox("Service not able to be stopped currently" & vbCrLf & "Please try again in a few seconds", MsgBoxStyle.Information) 
          ' End If 
         End If 
       End Select 
       Progress.PB_Progress_Bar.Value += 1 
      End If 
     Next 
    Next 
    Progress.Dispose()