XVIII. Gérer les Services Windows avec la commande de contrôle des services SC▲
Ce chapitre est une traduction de la page http://commandwindows.com/sc.htm dont l'auteur original est Victor Laurie.
L'utilitaire de contrôle des services SC est un puissant outil en ligne de commande permettant de gérer les services Windows. Ce chapitre décrit ses différentes fonctionnalités et possibilités.
Beaucoup de processus, de fonctionnalités du système d'exploitation Windows et d'autres logiciels sont classés dans la rubrique « services ». La gestion des services avec l'outil graphique est décrite sur un autre site. En plus de l'interface graphique de gestion des services, Windows XP dispose d'un puissant utilitaire en ligne de commande. Cet utilitaire, le contrôleur de services, est accessible en tapant « sc » dans l'invite de commande.
Cette méthode de gestion en ligne de commande des services présente l'avantage de pouvoir être utilisée dans les scripts. Cet outil permet également d'arrêter et de démarrer rapidement les services afin de résoudre les problèmes. Les administrateurs système l'utilisent pour gérer les services sur le réseau et pour mettre en place des configurations détaillées. Pour les utilisateurs standard, cette commande fournit un moyen simple de démarrer ou arrêter les services pour voir comment les performances en sont affectées.
XVIII-A. Les sous-commandes de SC▲
La commande « sc » est fournie avec un certain nombre de sous-commandes. Vous pouvez en consulter la liste sur cette page Microsoft ou en saisissant « sc /? » dans une invite de commande. Vous trouverez également une liste dans le Centre d'aide et de support de Windows XP. La totalité des 24 sous-commandes sont listées. Chaque sous-commande possède un sous-ensemble de commandes. Le tableau ci-dessous liste une sélection des sous-commandes les plus utiles pour les utilisateurs typiques et de leur fonction. Des informations plus détaillées sont disponibles dans le Centre d'aide et de support en cherchant « sc ».
Tableau I. Sous-commandes de SC
Commande |
Fonction |
---|---|
sc config |
Configure le démarrage du service et les comptes d'utilisateur |
sc continue |
Réactive un service en pause |
sc enumdepend |
Liste les services dépendants |
sc failure |
Spécifie l'action à effectuer en cas d'échec d'exécution du service |
sc pause |
Met un service en pause |
sc qc |
Affiche la configuration d'un service en particulier |
sc query |
Affiche des informations sur le service, pilote, type de service ou type de pilote spécifié |
sc start |
Démarre un service |
sc stop |
Envoie une requête STOP à un service (il risque de ne pas répondre) |
XVIII-B. Exemples d'applications utiles de SC▲
Les commandes disponibles sont très utiles et permettent une configuration avancée des services. Bien que toutes les fonctionnalités ne soient pas intéressantes pour tous les utilisateurs, quelques-unes sont utiles pour une utilisation au quotidien. Vous pouvez savoir si un service est démarré, vous pouvez l'arrêter, le démarrer, ou le mettre en pause. Vous pouvez aussi déterminer s'il sera lancé au démarrage du système. Je vais décrire ici quelques-unes des commandes qui me semblent intéressantes.
sc config
Cette commande a de nombreuses fonctions, mais l'une d'elles est de déterminer le statut d'un service au démarrage du système. Un service peut être configuré pour démarrer automatiquement, manuellement ou ne pas démarrer du tout. La syntaxe est :
sc
con
fig NomDuService start
=
option
Ici, NomDuService est le nom du service à configurer et option peut prendre l'une des valeurs suivantes : auto, demand, ou disabled. Par exemple pour configurer un service pour qu'il démarre manuellement, la commande à utiliser est :
sc
con
fig NomDuService start
=
demand
Remarquez qu'il faut une espace après le signe égal (=). La valeur correcte pour le paramètre NomDuService n'est pas toujours évidente à connaitre et la commande suivante peut être utilisée pour trouver tous les services.
sc query
Cette commande permet d'obtenir des informations sur les services et drivers. Utilisée sans argument, elle renvoie la liste des services en cours d'exécution avec plusieurs informations pour chaque service. La liste n'est pas pratique à lire sur un écran et peut être redirigée dans un fichier texte. Pour créer un fichier texte contenant la liste des services en cours d'exécution, utilisez la commande
sc
query
>
listeServices.txt
Vous pouvez définir le chemin qui vous convient pour le fichier listeServices.txt. Pour créer une liste de tous les services, utilisez
sc
query
type
=
service state=
all >
listeTousLesServices.txt
Pour créer une liste des drivers actifs, utilisez
sc
query
type
=
driver
ou pour une liste exhaustive de tous les objets :
sc
query
state=
all
sc start
Pour démarrer un service qui n'est pas en cours d'exécution, utilisez
sc
start
NomDuService
sc stop
Pour arrêter un service en cours d'exécution, utilisez
sc
stop NomDuService
Toutefois, certains services ne peuvent pas ou ne devraient pas être arrêtés.