110 votes

Redémarrer un service Windows à partir de la ligne de commande

Existe-t-il un moyen de redémarrer un service Windows à partir de l'invite de commande ?

123voto

paradd0x Points 8751

Vous pouvez utiliser net stop [service name] a arrêter et net start [service name] a commencer le relancer en gros redémarrage de le service.

Pour les combiner, il suffit de faire ceci - net stop [service name] && net start [service name] .


Il existe également une commande spécialement conçue pour manipuler les services : sc

DESCRIPTION:
        SC is a command line program used for communicating with the
        Service Control Manager and services.
USAGE:
        sc  \[command\] \[service name\]  ...

        The option  has the form "\\\\ServerName"
        Further help on commands can be obtained by typing: "sc \[command\]"
        Commands:
          query-----------Queries the status for a service, or
                          enumerates the status for types of services.
          queryex---------Queries the extended status for a service, or
                          enumerates the status for types of services.
          start-----------Starts a service.
          pause-----------Sends a PAUSE control request to a service.
          interrogate-----Sends an INTERROGATE control request to a service.
          continue--------Sends a CONTINUE control request to a service.
          stop------------Sends a STOP request to a service.
          config----------Changes the configuration of a service (persistent).
          description-----Changes the description of a service.
          failure---------Changes the actions taken by a service upon failure.
          failureflag-----Changes the failure actions flag of a service.
          sidtype---------Changes the service SID type of a service.
          privs-----------Changes the required privileges of a service.
          managedaccount--Changes the service to mark the service account
                          password as managed by LSA.
          qc--------------Queries the configuration information for a service.
          qdescription----Queries the description for a service.
          qfailure--------Queries the actions taken by a service upon failure.
          qfailureflag----Queries the failure actions flag of a service.
          qsidtype--------Queries the service SID type of a service.
          qprivs----------Queries the required privileges of a service.
          qtriggerinfo----Queries the trigger parameters of a service.
          qpreferrednode--Queries the preferred NUMA node of a service.
          qrunlevel-------Queries the run level of a service.
          qmanagedaccount-Queries whether a services uses an account with a
                          password managed by LSA.
          qprotection-----Queries the process protection level of a service.
          delete----------Deletes a service (from the registry).
          create----------Creates a service. (adds it to the registry).
          control---------Sends a control to a service.
          sdshow----------Displays a service's security descriptor.
          sdset-----------Sets a service's security descriptor.
          showsid---------Displays the service SID string corresponding to an arbitrary name.
          triggerinfo-----Configures the trigger parameters of a service.
          preferrednode---Sets the preferred NUMA node of a service.
          runlevel--------Sets the run level of a service.
          GetDisplayName--Gets the DisplayName for a service.
          GetKeyName------Gets the ServiceKeyName for a service.
          EnumDepend------Enumerates Service Dependencies.

        The following commands don't require a service name:
        sc   
          boot------------(ok | bad) Indicates whether the last boot should
                          be saved as the last-known-good boot configuration
          Lock------------Locks the Service Database
          QueryLock-------Queries the LockStatus for the SCManager Database
EXAMPLE:
        sc start MyService

QUERY and QUERYEX OPTIONS:
        If the query command is followed by a service name, the status
        for that service is returned.  Further options do not apply in
        this case.  If the query command is followed by nothing or one of
        the options listed below, the services are enumerated.
    type=    Type of services to enumerate (driver, service, all)
             (default = service)
    state=   State of services to enumerate (inactive, all)
             (default = active)
    bufsize= The size (in bytes) of the enumeration buffer
             (default = 4096)
    ri=      The resume index number at which to begin the enumeration
             (default = 0)
    group=   Service group to enumerate
             (default = all groups)

SYNTAX EXAMPLES
sc query                - Enumerates status for active services & drivers
sc query eventlog       - Displays status for the eventlog service
sc queryex eventlog     - Displays extended status for the eventlog service
sc query type= driver   - Enumerates only active drivers
sc query type= service  - Enumerates only Win32 services
sc query state= all     - Enumerates all services & drivers
sc query bufsize= 50    - Enumerates with a 50 byte buffer
sc query ri= 14         - Enumerates with resume index = 14
sc queryex group= ""    - Enumerates active services not in a group
sc query type= interact - Enumerates all interactive services
sc query type= driver group= NDIS     - Enumerates all NDIS drivers

46voto

Dmitry Gusarov Points 611

Veuillez noter que s'il y a d'autres services qui dépendent de ce service - habituels net stop & net start ne les relancera pas. net stop /y arrêtera toutes les dépendances

Exemple le plus courant - SQL Server et SQL Agent.

Je recommande la cmdlet PowerShell pour résoudre ce problème :

powershell -command "Restart-Service MSSQLSERVER -Force"

Après le démarrage de MSSQLSERVER - la cmdlet démarre toutes les dépendances précédemment arrêtées.

PS : Assurez-vous que vous exécutez la commande en tant qu'administrateur.

12voto

Kiki Points 121

Pour redémarrer un service Windows à partir de l'invite de commande ou des tâches planifiées, procédez comme suit :

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

10voto

Carlos Paramio Points 121

Vous pouvez également utiliser PowerShell :

stop-Service

5voto

George Points 51

Pour résoudre l'ennuyeuse erreur du pilote Wacom Intuous qui ne fonctionne pas à chaque redémarrage.

Windows key + R coller, Bam !

sc stop WTabletServicePro && sc start WTabletServicePro

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X