Reinicie um serviço do Windows na linha de comando

82

Existe uma maneira de reiniciar um serviço do Windows no prompt de comando?

Joe
fonte

Respostas:

92

Você pode usar net stop [service name]para parar isso e net start [service name]para começar tudo de novo, basicamente, reiniciar o serviço.

Para combiná-los, faça isso - net stop [service name] && net start [service name].


Há também um comando criado especificamente para mexer com serviços: sc

DESCRIÇÃO:
        SC é um programa de linha de comando usado para comunicação com o
        Gerente de Controle de Serviços e serviços.
USO:
        sc [comando] [nome do serviço] ...


        A opção possui o formato "\\ ServerName"
        Ajuda adicional sobre comandos pode ser obtida digitando: "sc [command]"
        Comandos:
          consulta ----------- Consulta o status de um serviço ou
                          enumera o status para tipos de serviços.
          queryex --------- Consulta o status estendido de um serviço ou
                          enumera o status para tipos de serviços.
          start ----------- Inicia um serviço.
          pausa ----------- Envia uma solicitação de controle PAUSE para um serviço.
          interrogate ----- Envia uma solicitação de controle INTERROGATE para um serviço.
          continue -------- Envia uma solicitação de controle CONTINUE para um serviço.
          stop ------------ Envia uma solicitação de interrupção para um serviço.
          config ---------- Altera a configuração de um serviço (persistente).
          descrição ----- Altera a descrição de um serviço.
          falha --------- Altera as ações executadas por um serviço em caso de falha.
          failflag ----- Altera o sinalizador de ações de falha de um serviço.
          sidtype --------- Altera o tipo de serviço SID de um serviço.
          privs ----------- Altera os privilégios necessários de um serviço.
          managedaccount - altera o serviço para marcar a conta de serviço
                          senha conforme gerenciado pela LSA.
          qc -------------- Consulta as informações de configuração de um serviço.
          qdescription ---- Consulta a descrição de um serviço.
          qfailure -------- Consulta as ações executadas por um serviço em caso de falha.
          qfailureflag ---- Consulta o sinalizador de ações de falha de um serviço.
          qsidtype -------- Consulta o tipo de serviço SID de um serviço.
          qprivs ---------- Consulta os privilégios necessários de um serviço.
          qtriggerinfo ---- Consulta os parâmetros de disparo de um serviço.
          qpreferrednode - consulta o nó NUMA preferido de um serviço.
          qrunlevel ------- Consulta o nível de execução de um serviço.
          qmanagedaccount-consulta se um serviço usa uma conta com um
                          senha gerenciada pela LSA.
          qprotection ----- Consulta o nível de proteção de processo de um serviço.
          delete ---------- Exclui um serviço (do registro).
          criar ---------- Cria um serviço. (adiciona ao registro).
          controle --------- Envia um controle para um serviço.
          sdshow ---------- Exibe o descritor de segurança de um serviço.
          sdset ----------- Define o descritor de segurança de um serviço.
          showsid --------- Exibe a string SID do serviço correspondente a um nome arbitrário.
          triggerinfo ----- Configura os parâmetros de disparo de um serviço.
          selectednode --- Define o nó NUMA preferido de um serviço.
          runlevel -------- Define o nível de execução de um serviço.
          GetDisplayName - Obtém o DisplayName para um serviço.
          GetKeyName ------ Obtém o ServiceKeyName de um serviço.
          EnumDepend ------ Enumera dependências de serviço.

        Os seguintes comandos não requerem um nome de serviço:
        sc   
          boot ------------ (ok | incorreto) Indica se a última inicialização deve
                          ser salvo como a última configuração de inicialização válida
          Bloquear ------------ Bloqueia o banco de dados de serviço
          QueryLock ------- Consulta o LockStatus para o banco de dados do SCManager
EXEMPLO:
        sc inicia o MyService

QUERY e OPÇÕES QUERYEX:
        Se o comando query for seguido por um nome de serviço, o status
        para esse serviço é retornado. Outras opções não se aplicam
        este caso. Se o comando query for seguido por nada ou um dos
        as opções listadas abaixo, os serviços são enumerados.
    type = Tipo de serviços a enumerar (driver, serviço, todos)
             (padrão = serviço)
    state = Estado dos serviços a serem enumerados (inativos, todos)
             (padrão = ativo)
    bufsize = O tamanho (em bytes) do buffer de enumeração
             (padrão = 4096)
    ri = O número do índice do currículo no qual iniciar a enumeração
             (padrão = 0)
    group = grupo de serviços a enumerar
             (padrão = todos os grupos)

EXEMPLOS SINTAXOS
consulta sc - enumera o status de serviços e drivers ativos
sc query eventlog - Exibe o status do serviço de log de eventos
sc queryex eventlog - exibe o status estendido para o serviço de log de eventos
sc query type = driver - Enumera apenas drivers ativos
tipo de consulta sc = service - enumera apenas serviços Win32
sc query state = all - Enumera todos os serviços e drivers
sc query bufsize = 50 - Enumera com um buffer de 50 bytes
sc query ri = 14 - Enumera com o índice de currículo = 14
sc queryex group = "" - Enumera serviços ativos que não estão em um grupo
sc query type = interact - Enumera todos os serviços interativos
tipo de consulta sc = driver group = NDIS - Enumera todos os drivers NDIS
paradd0x
fonte
5
A próxima pergunta torna-se como procurar o apropriado [service name].
Iszi
4
Coloque net starte lista todos os serviços em execução.
paradd0x
3
@ Iszi Bem, se ele deseja reiniciar um serviço, ele deve estar em execução para ser reiniciado. :)
paradd0x
4
@lszi: execute "sc query" na linha de comando. Veja SERVICE_NAME
jftuga
8
'restart! =' stop '&&' start '. Eu tenho um serviço que é reiniciado rapidamente por meio do applet GUI, mas muito lento é iniciado por meio da GUI e da CLI. Ainda à procura de CLI maneira de realizar verdadeira restart ...
Van Jone
16

Observe que, se houver outros serviços que dependem desse serviço - o habitual net stop & net startnão os reiniciará. net stop /yirá parar todas as dependências

Exemplo mais comum - SQL Server e SQL Agent.

Eu recomendo o cmdlet do PowerShell para resolver isso:

powershell -command "Restart-Service MSSQLSERVER -Force"

Depois que o MSSQLSERVER é iniciado - o cmdlet inicia todas as dependências interrompidas anteriormente.

PS: Verifique se você está executando o comando como administrador

Dmitry Gusarov
fonte
2
+1. Esta é a melhor resposta. Parar e iniciar serviços com dependências falhará com as outras respostas. Você precisa adicionar que, para que isso funcione, você precisa executar como administrador.
Egur
10

Você também pode usar o PowerShell:

stop-Service
devlife
fonte
18
PowerShell também oferece Restart-Service (apenas mencioná-lo uma vez que o OP perguntou sobre como reiniciar serviços especificamente)
Ƭᴇcʜιᴇ007
10

Para reiniciar um serviço do Windows no prompt de comando ou nas tarefas agendadas, use o seguinte:

cmd /c "net stop "Service Name" & sc start "Service Name""
Kiki
fonte
4
Você provavelmente iria querer um e comercial duplo. Isso faz com que espere o primeiro comando terminar (com sucesso) antes de prosseguir com o segundo.
Adam Plocher
4

Para resolver o irritante driver Wacom Intuous que não está executando o erro, eu entro em todas as reinicializações.

Windows key+ Rcolar, Bam!

sc stop WTabletServicePro && sc start WTabletServicePro
George
fonte
2

O utilitário PsService do PsTools fornece um restartcomando para serviços, com parâmetros adicionais para executá-lo em outra máquina.

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

O -accepteulasinalizador salva a janela do EULA caso seja a primeira vez que você usa esse utilitário com o usuário atual.

cdlvcdlv
fonte
-2

Caso você saiba o caminho do local executável do serviço, você pode usar

"[service name.exe] console"

Na linha de comando.

Isso realmente ajudará você a depurar o problema se o serviço falhar ao iniciar.

sup4eli
fonte
Bem-vindo ao Super Usuário! Por favor, leia a pergunta novamente com atenção. Sua resposta não responde à pergunta original.
DavidPostill