2012-11-01 15 views

risposta

14
sc config <service_name> start= disabled 

Questo comando ha un numero di funzioni, ma uno è quello di determinare lo stato di un servizio all'avvio del sistema. Un servizio può essere impostato per essere eseguito automaticamente, manualmente o per niente. I comandi sono

sc config ServiceName start= flag 

Ecco ServiceName è il nome del servizio e la bandiera è uno dei valori di auto, la domanda. o disabilitato. Ad esempio, per impostare un servizio per eseguire manualmente il comando è

sc config ServiceName start= demand 

Nota che ci deve essere uno spazio dopo il segno di uguale. Il valore corretto per il parametro ServiceName potrebbe non essere sempre evidente e il comando successivo può essere utilizzato per trovarlo per tutti i servizi.

3
sc config <service_name> start= disabled 
+0

Grazie mille .. ha funzionato come un fascino .. Aggiunte alcune altre opzioni per rendere la soluzione più chiara .. – Gautam

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

modifica il tipo di avvio del servizio e registra l'output in c:\temp\sc.txt.

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

avvia il servizio e registra l'output in c:\temp\sc.txt.

+2

Puoi formattarlo un po '? – Miki

+0

L'ho riformattato. –

0

Ho una risposta e una domanda. ho messo insieme questa singola riga per disabilitare i servizi che eseguono

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

Questa controllerà il servizio prima di tentare di disabilitare e stop. Alcuni mi piace cambiare in manuale.

Qualcuno può aiutarmi a mettere questo frammento in un ciclo

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

servicename1 servicename2 servicename3 endif .....

In questo modo posso fare un segmento ed inserire tutti i servizi che vuoi cambiare lo stato in un singolo file.

0

ho nodo che questo è un po 'tardi, ma per tutti coloro che potrebbero funzionare attraverso questo in futuro, questo è un piccolo frammento di applicazione che ho scritto con un backend DB, costruire la matrice, ciclo attraverso di essa e inviare il

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() 
Problemi correlati