Comment contrôler les services en cours d'exécution avec la commande SC [Windows]

Comment contrôler les services en cours d'exécution avec la commande SC [Windows] / les fenêtres

L’une des choses que je constate beaucoup plus souvent depuis que je me suis plongé dans les TI est de surveiller et de vérifier l’état des services exécutés sur des ordinateurs de l’entreprise..

Il existe un moyen standard de gestion des services que la plupart des gens utilisent, car il est bien connu et assez facile. Cela implique d’activer les contrôles administratifs ou le panneau de configuration, de rechercher les services et de faire ce que vous devez faire..

Si vous souhaitez gérer les services qui s'exécutent sur un autre ordinateur ou serveur sur votre réseau, vous devez accéder à Gestion de l'ordinateur, vous connecter à la machine distante, puis gérer ces services..

Cette approche n’est absolument pas fausse: en fait, les administrateurs système utilisent partout ces utilitaires Windows standard pour gérer l’infrastructure dans l’entreprise. Mais, si vous pouviez surveiller, arrêter et démarrer les services en tapant une seule ligne à l’invite de commande?

Contrôle des services à partir de la ligne de commande

Vous devrez peut-être arrêter les services en cours d'exécution sur un ordinateur client pour pouvoir réinstaller certains logiciels. Ou peut-être devez-vous redémarrer des services qui s'exécutent sur un serveur, car certains logiciels ne fonctionnent pas correctement.

Jusqu'à présent, vous avez probablement géré des services sur des ordinateurs clients s'exécutant sur votre réseau à l'aide de l'utilitaire de services standard. C'est l'outil Services que vous lancez dans le Outils administratifs section du panneau de commande.

Dans Outils d'administration, vous pouvez soit accéder directement à l'outil Services, soit ouvrir la gestion de l'ordinateur si vous souhaitez accéder à un autre ordinateur de votre réseau..

Pour accéder à un autre ordinateur, cliquez simplement sur action, “Se connecter à un autre ordinateur” puis tapez le nom de réseau de l'ordinateur.

Ensuite, vous pouvez ouvrir l'outil de services.

Un moyen plus simple de gérer les services

Donc de toute façon, c'est le long chemin. Le moyen le plus court et le plus rapide consiste à utiliser la commande “Caroline du Sud”.

Vous êtes probablement familier avec la commande NET. La commande SC est presque identique à NET, sauf qu’elle peut également créer un service, en plus de la surveillance, de l’arrêt et du démarrage. Mieux encore, vous pouvez émettre la commande SC contre d'autres ordinateurs du réseau (en supposant que vous ayez les droits d'administrateur)..

Faire une requête SC sur un ordinateur vous donnera tous les services installés et s'ils sont en cours d'exécution. Lorsque vous lancez la commande “SC \\ ** nom de l'ordinateur ** requête | plus” - vous obtiendrez une sortie comme indiqué ici.

Comme vous pouvez le constater, cela vous donne l’état du service, son type et d’autres paramètres. Aux fins de nos exercices ici, nous allons prêter attention à l'état des services.

Si vous souhaitez répertorier uniquement les services qui ne sont pas en cours d'exécution (arrêtés), vous devez alors exécuter la commande, “SC \\ ** nom de l'ordinateur ** état de la requête = “inactif” | plus”

La partie | more de la commande met la sortie en pause sur chaque écran afin que vous puissiez faire défiler.

Comme vous pouvez le constater, ces services sont tous arrêtés. Maintenant, au lieu d'avoir à parcourir tous ces services, si vous connaissez le nom du service, vous pouvez simplement lancer la commande “SC \\ ** nom-ordinateur ** requête ** nom-service **”

Cela rendra compte du statut actuel de ce service et de rien d’autre. Pour arrêter un service à distance, il vous suffit d'envoyer la commande stop, “SC \\ ** nom-ordinateur ** arrêt ** nom-service **”

La sortie montrera un état de “STOP-EN ATTENTE”, mais après quelques instants, si vous interrogez à nouveau ce service, vous verrez qu'il n'est plus en cours d'exécution. Vous pouvez le démarrer en exécutant la même commande, mais en remplaçant “Arrêtez” avec “début”.

Création d'un script pour interroger, arrêter ou démarrer un service

Bon, maintenant que vous avez les bases, il est temps d'écrire un script qui arrêtera tout service souhaité sans avoir à mémoriser la chaîne de commande exacte. Nous pouvons le faire en écrivant un script Windows fiable, comme suit:.

 

Lorsque vous exécutez ce script, il vous demande le nom du service que vous souhaitez arrêter ou démarrer..

Et ensuite si vous voulez arrêter ou démarrer le service.

En utilisant le “>> c: \ temp \ resultats.txt” commande, les résultats et les erreurs d'arrêt et de démarrage sont générés dans un fichier texte que vous pouvez utiliser pour voir si la commande a fonctionné.

Lorsque j'ai exécuté le script ci-dessus, je l'ai suivi d'une requête rapide du service avant et après l'exécution du script..

Comme vous pouvez le constater, le service que j’ai arrêté - helpvc - était en cours d’exécution. J'ai exécuté le script Windows pour l'arrêter, l'ai interrogé, et il a été arrêté.

Si vous voulez vraiment avoir de la fantaisie, vous pouvez ajouter au script une section qui exporte tous les services actuellement installés sur le PC dans un fichier texte que vous pouvez consulter avant de décider du service à arrêter ou à démarrer. La commande pour cela serait “sc \\” & strComputer & ” requête> c: \ temp \ services.txt”.

Comme vous pouvez le constater, la commande SC peut constituer un moyen assez puissant et efficace de gérer des services sur n’importe quel ordinateur. Si vous avez du talent avec Windows Scripting, vous pouvez même automatiser le processus pour rendre votre travail encore plus facile..

Pensez-vous que la commande SC pourrait vous être utile? Qu'en est-il d'un script automatisé qui exécute la commande? Partagez vos idées et vos pensées dans la section commentaires ci-dessous.

Crédit d'image: Shutterstock

En savoir plus sur: Maintenance informatique, Programmation, Moniteur système.