Reiniciar un servicio de Windows desde la línea de comando

Respuestas:

92

Se puede utilizar net stop [service name]para parar y net start [service name]para comenzar de nuevo básicamente reiniciar el servicio.

Para combinarlos solo haz esto - net stop [service name] && net start [service name].


También hay un comando creado específicamente para jugar con los servicios: sc

DESCRIPCIÓN:
        SC es un programa de línea de comando utilizado para comunicarse con el
        Gerente de Control de Servicios y servicios.
USO:
        sc [comando] [nombre del servicio] ...


        La opción tiene la forma "\\ ServerName"
        Puede obtener más ayuda sobre los comandos escribiendo: "sc [comando]"
        Comandos:
          consulta ----------- Consulta el estado de un servicio, o
                          enumera el estado de los tipos de servicios.
          queryex --------- Consulta el estado extendido de un servicio, o
                          enumera el estado de los tipos de servicios.
          inicio ----------- Inicia un servicio.
          pausa ----------- Envía una solicitud de control PAUSE a un servicio.
          interrogar ----- Envía una solicitud de control INTERROGATE a un servicio.
          continuar -------- Envía una solicitud de control CONTINUAR a un servicio.
          stop ------------ Envía una solicitud STOP a un servicio.
          config ---------- Cambia la configuración de un servicio (persistente).
          description ----- Cambia la descripción de un servicio.
          falla --------- Cambia las acciones tomadas por un servicio en caso de falla.
          failflag ----- Cambia el indicador de acciones de falla de un servicio.
          sidtype --------- Cambia el tipo de SID de servicio de un servicio.
          privs ----------- Cambia los privilegios requeridos de un servicio.
          managedaccount: cambia el servicio para marcar la cuenta de servicio
                          contraseña administrada por LSA.
          qc -------------- Consulta la información de configuración de un servicio.
          qdescription ---- Consulta la descripción de un servicio.
          qfailure -------- Consulta las acciones tomadas por un servicio en caso de falla.
          qfailureflag ---- Consulta el indicador de acciones de falla de un servicio.
          qsidtype -------- Consulta el tipo de SID de servicio de un servicio.
          qprivs ---------- Consulta los privilegios necesarios de un servicio.
          qtriggerinfo ---- Consulta los parámetros de activación de un servicio.
          qpreferrednode: consulta el nodo NUMA preferido de un servicio.
          qrunlevel ------- Consulta el nivel de ejecución de un servicio.
          qmanagedaccount-Consulta si un servicio utiliza una cuenta con un
                          contraseña administrada por LSA.
          qprotection ----- Consulta el nivel de protección de proceso de un servicio.
          eliminar ---------- Elimina un servicio (del registro).
          crear ---------- Crea un servicio. (lo agrega al registro).
          control --------- Envía un control a un servicio.
          sdshow ---------- Muestra el descriptor de seguridad de un servicio.
          sdset ----------- Establece el descriptor de seguridad de un servicio.
          showsid --------- Muestra la cadena SID del servicio correspondiente a un nombre arbitrario.
          triggerinfo ----- Configura los parámetros de activación de un servicio.
          preferrednode --- Establece el nodo NUMA preferido de un servicio.
          runlevel -------- Establece el nivel de ejecución de un servicio.
          GetDisplayName: Obtiene DisplayName para un servicio.
          GetKeyName ------ Obtiene ServiceKeyName para un servicio.
          EnumDepend ------ Enumera las dependencias de servicio.

        Los siguientes comandos no requieren un nombre de servicio:
        Carolina del Sur   
          boot ------------ (ok | bad) Indica si el último arranque debería
                          guardarse como la última configuración de arranque válida conocida
          Bloquear ------------ Bloquea la base de datos del servicio
          QueryLock ------- Consulta el LockStatus para la base de datos SCManager
EJEMPLO:
        sc iniciar MyService

CONSULTA y OPCIONES QUERYEX:
        Si el comando de consulta es seguido por un nombre de servicio, el estado
        por ese servicio se devuelve. Otras opciones no se aplican en
        este caso. Si el comando de consulta es seguido por nada o uno de
        En las opciones enumeradas a continuación, se enumeran los servicios.
    type = Tipo de servicios para enumerar (controlador, servicio, todos)
             (predeterminado = servicio)
    estado = Estado de los servicios a enumerar (inactivo, todos)
             (predeterminado = activo)
    bufsize = El tamaño (en bytes) del búfer de enumeración
             (predeterminado = 4096)
    ri = El número de índice de reanudación en el que comenzar la enumeración
             (predeterminado = 0)
    grupo = Grupo de servicio para enumerar
             (predeterminado = todos los grupos)

Ejemplos de sintaxis
consulta sc: enumera el estado de los servicios y controladores activos
sc query eventlog: muestra el estado del servicio eventlog
sc queryex eventlog: muestra el estado extendido del servicio de registro de eventos
sc query type = driver - Enumera solo los controladores activos
sc query type = service - Enumera solo servicios Win32
sc query state = all: enumera todos los servicios y controladores
sc query bufsize = 50 - Enumera con un búfer de 50 bytes
sc query ri = 14 - Enumera con el índice de reanudación = 14
sc queryex group = "" - Enumera los servicios activos que no están en un grupo
sc query type = interact - Enumera todos los servicios interactivos
sc query type = driver group = NDIS - Enumera todos los controladores NDIS
paradd0x
fuente
55
La siguiente pregunta es cómo buscar el apropiado [service name].
Iszi
44
Ponlo net starty enumera todos los servicios en ejecución.
paradd0x
3
@Iszi Bueno, si quiere reiniciar un servicio, tiene que estar ejecutándose para reiniciarlo. :)
paradd0x
44
@lszi: ejecute "sc query" desde la línea de comandos. Mira SERVICE_NAME
jftuga
8
'restart! =' stop '&&' start '. Tengo un servicio que se reinicia bastante rápido a través del applet de la GUI pero se detiene muy lentamente a través de la GUI y la CLI. Todavía estoy buscando la forma de CLI para realizar un reinicio real ...
Van Jone
16

Tenga en cuenta que si hay otros servicios que dependen de este servicio, lo habitual net stop & net startno los reiniciará. net stop /ydetendrá todas las dependencias

Ejemplo más común: SQL Server y Agente SQL.

Recomiendo el cmdlet de PowerShell para resolver esto:

powershell -command "Restart-Service MSSQLSERVER -Force"

Después de que se inicie MSSQLSERVER, el cmdlet inicia todas las dependencias detenidas anteriormente.

PD: asegúrese de ejecutar el comando como administrador

Dmitry Gusarov
fuente
2
+1. Esta es la mejor respuesta. Detener e iniciar servicios con dependencias fallará con las otras respuestas. Debe agregar que para que esto funcione, debe ejecutarse como administrador.
egur
10

También puedes usar PowerShell:

stop-Service
devlife
fuente
18
PowerShell también ofrece Restart-Service (sólo mencionar que desde el OP le preguntó acerca del reinicio de servicios específicos)
Ƭᴇcʜιᴇ007
10

Para reiniciar un servicio de Windows desde el símbolo del sistema o las tareas programadas, use esto:

cmd /c "net stop "Service Name" & sc start "Service Name""
Kiki
fuente
44
Probablemente quieras un doble ampersand. Eso hace que espere a que el primer comando termine (con éxito) antes de continuar con el segundo.
Adam Plocher
4

Para resolver el molesto Controlador Intuo de Wacom que no ejecuta Error, enciendo cada reinicio.

Windows key+ R, pegar, Bam!

sc stop WTabletServicePro && sc start WTabletServicePro
Jorge
fuente
2

La utilidad PsService de PsTools proporciona un restartcomando para servicios, con parámetros adicionales para ejecutarlo en otra máquina.

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

El -accepteulaindicador le guarda la ventana EULA en caso de que sea la primera vez que use esta utilidad con el usuario actual.

cdlvcdlv
fuente
-2

En caso de que conozca la ruta de ubicación ejecutable del servicio, puede usar

"[service name.exe] console"

En la línea de comando.

Eso realmente lo ayudará a depurar el problema si el servicio no puede iniciarse.

sup4eli
fuente
¡Bienvenido a Super User! Por favor lea la pregunta otra vez cuidadosamente. Su respuesta no responde a la pregunta original.
DavidPostill