Désactiver un service Windows à partir de la ligne de commande

56

Je veux désactiver un service Windows mais je ne veux pas:

  1. Ouvrez la console de gestion "Services"
  2. Faites défiler jusqu'au nom du service
  3. Cliquez avec le bouton droit sur Propriétés (ou double-cliquez).
  4. Changer le type de démarrage: en désactivé
  5. Appliquer
  6. Cliquez sur "Stop"

Je ne veux pas supprimer un service Windows mais plutôt le désactiver.

Kevin Driedger
la source
1
services.msc, tapez le nom du service, appuyez sur la touche de menu contextuel, appuyez sur la touche pour sélectionner Arrêter, appuyez sur Entrée.
Tamara Wijsman
5
Il ne s’agit pas d’un doublon car OP entend s’arrêter et désactiver le démarrage automatique
Alfabravo
1
@TomWijsman signifie généralement pas de souris lorsque vous spécifiez "ligne de commande"; par conséquent, la navigation de l'interface graphique à partir du clavier ne répond pas à ma question
Kevin Driedger
1
@ KevinDriedger: J'ai suggéré un moyen de raccourcir les étapes, prend moins de clés que les réponses.
Tamara Wijsman

Réponses:

94
sc config "Name of Service" start= disabled
sc stop "Name of Service"

L' espace après le " start=" est important

Vous pouvez voir le nom du service en double-cliquant sur un service dans l'écran Services:

Nom du service

Kevin Driedger
la source
12

En plus de la réponse de Kevin, si vous devez contrôler plusieurs services ou les sélectionner en fonction de certains critères, vous pouvez les utiliser wmic. Une utilisation simple pour arrêter un seul service (Sqlwriter dans mon exemple) serait:
wmic service where name='SQLWriter' call ChangeStartmode Disabled

mais l'outil est beaucoup plus puissant. Par exemple, pour définir le mode désactivé pour tous les services dont le libellé commence par SQL et n'est pas déjà désactivé, vous pouvez dire:

wmic service where "caption like 'SQL%' and  Startmode<>'Disabled'" call ChangeStartmode Disabled
wmz
la source
11

SC STOP "<nameservice>"

SC CONFIG "<nameservice>" START=( BOOT, ou SYSTEM, ou AUTO, ou DEMAND, ou DISABLED, ou DELAYED-AUTO)

Lien: Sc config

Marc
la source
4
En quoi cela diffère-t-il de la réponse la plus votée d'il y a cinq ans?
Greenonline
4
@Greenonline: en fait, cela diffère, Marc a fourni la liste complète des arguments ainsi que le lien vers la page d'aide. Ne votez pas pour des choses utiles.
SoLaR
-2

Citant KB248660 :

L'utilitaire Reg.exe du Kit de ressources Microsoft Windows NT doit être installé sur votre ordinateur.

Pour modifier la valeur de démarrage d'un service sur un ordinateur local à l'aide de la ligne de commande, tapez ce qui suit à l'invite de commande, puis appuyez sur Entrée: REG UPDATE HKLM \ SYSTEM \ CurrentControlSet \ Services \ nom_service \ Start = X où nom_service est le nom du service tel qu’il apparaît dans le registre et que X est un 2, un 3 ou un 4 (représentant respectivement le démarrage automatique, manuel ou désactivé).

Pour modifier la valeur de démarrage d'un service sur un ordinateur distant à l'aide de la ligne de commande localement, tapez ce qui suit à l'invite de commande, puis appuyez sur Entrée: REG UPDATE HKLM \ SYSTEM \ CurrentControlSet \ Services \ nom_service \ Start = X \ nom_serveur où nom_service est le nom du service tel qu'il apparaît dans le registre, X est un 2, un 3 ou un 4 (représentant le démarrage automatique, le démarrage manuel ou désactivé, respectivement), et nom du serveur est le nom du serveur distant.

Pour voir comment le nom du service apparaît dans le registre, affichez la clé de registre suivante: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \

Darnir
la source
1
Mauvaise idée. Vous pouvez désactiver le service à l'aide de l'utilitaire REG, mais le gestionnaire de services n'est pas mis à jour. Le service peut toujours être exécuté par le gestionnaire de services jusqu'à ce que le gestionnaire de services actualise la liste interne - testé à ce moment et le service commence toujours avec l'indicateur désactivé == Démarré (désactivé).
SoLaR