Chapitre 12 : Gérer les Services Windows avec la commande de contrôle des services SC

         1 – 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)

         2 – 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 determiner 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’elle 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 config 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 config 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 devrait pas être arrêtés.