Riavvia un servizio Windows dalla riga di comando


Risposte:


92

Si può usare net stop [service name]per fermare e net start [service name]per iniziare di nuovo in fondo il riavvio del servizio.

Per combinarli basta fare questo - net stop [service name] && net start [service name].


Esiste anche un comando creato appositamente per i messaggi con i servizi: sc

DESCRIZIONE:
        SC è un programma a riga di comando utilizzato per comunicare con
        Service Control Manager e servizi.
USO:
        sc [comando] [nome servizio] ...


        L'opzione ha il formato "\\ ServerName"
        Ulteriore aiuto sui comandi può essere ottenuto digitando: "sc [comando]"
        comandi:
          query ----------- Interroga lo stato di un servizio o
                          enumera lo stato per i tipi di servizi.
          queryex --------- Interroga lo stato esteso per un servizio, oppure
                          enumera lo stato per i tipi di servizi.
          start ----------- Avvia un servizio.
          pause ----------- Invia una richiesta di controllo PAUSE a un servizio.
          interrogate ----- Invia una richiesta di controllo INTERROGATE a un servizio.
          continua -------- Invia una richiesta di controllo CONTINUA a un servizio.
          stop ------------ Invia una richiesta STOP a un servizio.
          config ---------- Modifica la configurazione di un servizio (persistente).
          descrizione ----- Modifica la descrizione di un servizio.
          fallimento --------- Modifica le azioni intraprese da un servizio in caso di guasto.
          failureflag ----- Modifica il flag delle azioni di errore di un servizio.
          sidtype --------- Modifica il tipo SID del servizio di un servizio.
          privs ----------- Modifica i privilegi richiesti di un servizio.
          managedaccount: modifica il servizio per contrassegnare l'account del servizio
                          password gestita da LSA.
          qc -------------- Interroga le informazioni di configurazione per un servizio.
          qdescription ---- Interroga la descrizione per un servizio.
          qfailure -------- Interroga le azioni intraprese da un servizio in caso di errore.
          qfailureflag ---- Interroga il flag delle azioni di errore di un servizio.
          qsidtype -------- Interroga il tipo SID del servizio di un servizio.
          qprivs ---------- Interroga i privilegi richiesti di un servizio.
          qtriggerinfo ---- Interroga i parametri di trigger di un servizio.
          qpreferrednode - Interroga il nodo NUMA preferito di un servizio.
          qrunlevel ------- Interroga il livello di esecuzione di un servizio.
          qmanagedaccount-Verifica se un servizio utilizza un account con a
                          password gestita da LSA.
          qprotection ----- Interroga il livello di protezione del processo di un servizio.
          elimina ---------- Elimina un servizio (dal registro).
          create ---------- Crea un servizio. (lo aggiunge al registro).
          control --------- Invia un controllo a un servizio.
          sdshow ---------- Visualizza il descrittore di sicurezza di un servizio.
          sdset ----------- Imposta il descrittore di sicurezza di un servizio.
          showsid --------- Visualizza la stringa SID del servizio corrispondente a un nome arbitrario.
          triggerinfo ----- Configura i parametri di trigger di un servizio.
          favoritenode --- Imposta il nodo NUMA preferito di un servizio.
          runlevel -------- Imposta il livello di esecuzione di un servizio.
          GetDisplayName: ottiene DisplayName per un servizio.
          GetKeyName ------ Ottiene il ServiceKeyName per un servizio.
          EnumDepend ------ Enumera le dipendenze del servizio.

        I seguenti comandi non richiedono un nome di servizio:
        sc   
          boot ------------ (ok | bad) Indica se l'ultimo avvio dovrebbe
                          essere salvato come ultima configurazione di avvio valida
          Blocca ------------ Blocca il database dei servizi
          QueryLock ------- Interroga LockStatus per il database SCManager
ESEMPIO:
        sc avvia MyService

OPZIONI QUERY e QUERYEX:
        Se il comando query è seguito da un nome di servizio, lo stato
        per quel servizio viene restituito. Ulteriori opzioni non si applicano in
        questo caso. Se il comando query è seguito da niente o uno dei
        le opzioni elencate di seguito, i servizi sono elencati.
    type = Tipo di servizi da enumerare (driver, servizio, tutti)
             (impostazione predefinita = servizio)
    state = State of services to enumerate (inattivo, tutto)
             (impostazione predefinita = attiva)
    bufsize = La dimensione (in byte) del buffer di enumerazione
             (impostazione predefinita = 4096)
    ri = Il numero di indice del curriculum da cui iniziare l'enumerazione
             (impostazione predefinita = 0)
    group = Gruppo di servizi da enumerare
             (impostazione predefinita = tutti i gruppi)

ESEMPI DI SINTASSI
query sc - Enumera lo stato per servizi e driver attivi
sc query eventlog - Visualizza lo stato per il servizio eventlog
sc queryex eventlog - Visualizza lo stato esteso per il servizio eventlog
sc query type = driver - Enumera solo i driver attivi
sc query type = service - Enumera solo i servizi Win32
sc query state = all - Enumera tutti i servizi e driver
sc query bufsize = 50 - Enumera con un buffer di 50 byte
sc query ri = 14 - Enumera con resume index = 14
sc queryex group = "" - Enumera i servizi attivi non in un gruppo
sc query type = interact - Enumera tutti i servizi interattivi
sc query type = driver group = NDIS - Enumera tutti i driver NDIS

5
La prossima domanda diventa come cercare il giusto [service name].
Iszi,

4
Inserisci net started elenca tutti i servizi in esecuzione.
paradd0x,

3
@Iszi Bene, se vuole riavviare un servizio, deve essere in esecuzione per essere riavviato. :)
paradd0x

4
@lszi: esegui "sc query" dalla riga di comando. Guarda SERVICE_NAME
jftuga,

8
'restart! =' stop '&&' start '. Ho un servizio che viene riavviato abbastanza rapidamente tramite l'applet della GUI ma l'avvio molto lento è stato avviato sia tramite la GUI che la CLI. Sto ancora cercando il modo CLI per eseguire il vero riavvio ...
Van Jone

16

Si prega di notare che se ci sono altri servizi che dipendono da questo servizio - di solito net stop & net startnon li riavvieranno. net stop /yfermerà tutte le dipendenze

Esempio più comune: SQL Server e SQL Agent.

Raccomando il cmdlet di PowerShell per risolvere questo:

powershell -command "Restart-Service MSSQLSERVER -Force"

Dopo l'avvio di MSSQLSERVER, il cmdlet avvia tutte le dipendenze precedentemente interrotte.

PS: assicurati di eseguire il comando come amministratore


2
+1. Questa è la risposta migliore L'arresto e l'avvio dei servizi con dipendenze falliranno con le altre risposte. Devi aggiungere che per farlo funzionare devi eseguire come amministratore.
eg

10

Potresti anche usare PowerShell:

stop-Service

18
PowerShell offre anche il servizio di riavvio (solo menzionandolo da quando l'OP ha chiesto in particolare il riavvio dei servizi)
Ƭᴇcʜιᴇ007

10

Per riavviare un servizio Windows dal prompt dei comandi o dalle attività pianificate, utilizzare questo:

cmd /c "net stop "Service Name" & sc start "Service Name""

4
Probabilmente vorrai una doppia e commerciale. Ciò fa attendere che il primo comando termini (correttamente) prima di procedere con il secondo.
Adam Plocher,

4

Per risolvere il fastidioso driver Wacom Intuous non in esecuzione Errore, riavvio ad ogni riavvio.

Windows key+ R, incolla, Bam!

sc stop WTabletServicePro && sc start WTabletServicePro

2

L' utilità PsService di PsTools fornisce un restartcomando per i servizi, con parametri aggiuntivi per eseguirlo su un altro computer.

psservice [-accepteula] [\\Computer [-u Username [-p Password]]] restart <service-name>

Il -accepteulaflag ti salva la finestra EULA nel caso fosse la prima volta che usi questa utility con l'utente corrente.


-2

Nel caso in cui si conosca il percorso della posizione eseguibile del servizio che è possibile utilizzare

"[service name.exe] console"

Sulla riga di comando.

Ciò ti aiuterà effettivamente a eseguire il debug del problema se il servizio non si avvia.


Benvenuto in Super User! Si prega di leggere di nuovo attentamente la domanda. La tua risposta non risponde alla domanda originale.
DavidPostill
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.