Publicité
L'une des choses que je me retrouve beaucoup plus souvent depuis que je me lance dans l'informatique est la surveillance et la vérification de l'état des services exécutés sur les ordinateurs de l'entreprise.
Il existe une manière standard de gérer les services que la plupart des gens utilisent car elle est connue et assez simple. Cela implique d'accéder aux contrôles administratifs ou au panneau de configuration, de rechercher l'utilitaire 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 à la gestion de l'ordinateur, vous connecter à la machine distante, puis gérer ces prestations de service.
Il n'y a rien de mal à adopter cette approche - en fait, les administrateurs système utilisent partout ces utilitaires Windows standard pour gérer l'infrastructure dans toute l'entreprise. Mais, si vous pouviez surveiller, arrêter et démarrer des 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 afin de pouvoir réinstaller certains logiciels. Ou peut-être devez-vous redémarrer les 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 machines clientes exécutées sur votre réseau à l'aide de l'utilitaire de services standard. Il s'agit de l'outil Services que vous lancez dans le Outils administratifs section du panneau de commande.

Dans les 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 sur votre réseau.

Pour accéder à un autre ordinateur, cliquez simplement sur l'action, "Se connecter à un autre ordinateur», Puis saisissez 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 «SC».
Vous connaissez probablement la commande NET. La commande SC est presque identique à NET, sauf qu'elle peut également créer un service, en plus de les surveiller, de les arrêter et de les démarrer. Mieux encore, vous pouvez exécuter la commande SC sur d'autres ordinateurs sur le réseau (en supposant que vous disposez des droits d'administrateur).
Faire une requête SC sur un ordinateur vous donnera tous les services installés et s'ils fonctionnent. Lorsque vous exécutez la commande "SC \\ ** nom_ordinateur ** requête | plus" - vous obtiendrez une sortie comme indiqué ici.

Comme vous pouvez le voir, cela vous donne l'état du service, le type de service et d'autres paramètres. Pour le bien de nos exercices ici, nous allons faire attention à l'état des services.
Si vous souhaitez répertorier uniquement les services qui ne sont pas actuellement en cours d'exécution (arrêtés), vous devez émettre la commande, "SC \\ ** computer-name ** query state =" inactive "| plus"
La partie | more de la commande fait suspendre la sortie sur chaque écran afin que vous puissiez faire défiler.

Comme vous pouvez le voir, ces services sont tous arrêtés. Maintenant, au lieu d'avoir à fouiller dans 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 de l'état actuel de ce service et rien d'autre. Pour arrêter un service à distance, il vous suffit d'émettre la commande d'arrêt, "SC \\ ** nom-ordinateur ** stop ** nom-service **"

La sortie affichera un état "ARRÊT EN ATTENTE", mais après quelques instants, si vous interrogez à nouveau ce service, vous verrez qu'il ne fonctionne plus. Vous pouvez le démarrer en émettant la même commande, mais en remplaçant «stop» par «start».
Création d'un script pour interroger, arrêter ou démarrer n'importe quel service
Bon, maintenant que vous avez les bases, il est temps d'écrire un script qui arrêtera tout service que vous souhaitez sans avoir à vous rappeler 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 demandera le nom du service que vous souhaitez arrêter ou démarrer.

Et puis si vous voulez arrêter ou démarrer le service.
![Comment contrôler les services en cours d'exécution avec la commande SC [Windows] sc7](/f/4fb060c43e742db6ee412e605f7f88c8.png)
En utilisant le ">> c: \ temp \ results.txt", il génère les résultats et les erreurs d'arrêt et de démarrage 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 avec une requête rapide du service avant et après l'exécution du script.

Comme vous pouvez le voir, 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 devenir vraiment fantaisiste, vous pouvez ajouter une section au script qui génère tous les installé les services sur le PC dans un fichier texte que vous pouvez consulter avant de décider quel service arrêter ou début. La commande pour cela serait "Sc \\" & strComputer & "query> c: \ temp \ services.txt".
Comme vous pouvez le voir, la commande SC peut être un moyen assez puissant et efficace pour gérer les services sur n'importe quel ordinateur, et 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 réflexions dans la section des commentaires ci-dessous.
Crédit d'image: Shutterstock
Ryan est titulaire d'un BSc en génie électrique. Il a travaillé 13 ans dans l'ingénierie d'automatisation, 5 ans dans l'informatique et est maintenant ingénieur d'applications. Ancien rédacteur en chef de MakeUseOf, il a pris la parole lors de conférences nationales sur la visualisation des données et a été présenté à la télévision et à la radio nationales.