Comment répertorier tous les services Windows à l'aide de PowerShell ou de la ligne de commande

Comment répertorier tous les services Windows à l'aide de PowerShell ou de la ligne de commande

Les applications en cours d'exécution que vous voyez sur votre écran sont une fraction de ce qui se passe dans Windows. De la gestion des pilotes de dispositifs à l'assurance de la sécurité, un tas de processus d'arrière-plan maintiennent un PC Windows fonctionnel.

Pour tout administrateur système supervisant plusieurs ordinateurs, il est important de pouvoir afficher l'état de ces services critiques. L'approche du gestionnaire de tâches est trop lente pour cela, et vous ne pouvez pas l'automatiser avec un script.

Table des matières

    La solution? Outils de ligne de commande. En utilisant l'invite de commande ou PowerShell, vous pouvez rapidement vous lire sur les services opérationnels Microsoft en cours d'exécution sur un système, vous aidant à diagnostiquer rapidement les problèmes. 

    1. Il existe de nombreuses façons d'utiliser la commande SC QueryEx. Le type et l'état sont les deux paramètres les plus couramment utilisés. Par exemple, entrez la commande suivante pour afficher tous les processus Windows:

    SC QueryEx Type = SERVICE STATE = TOUS

    1. La vue par défaut peut être un peu écrasante. Vous pouvez afficher uniquement les noms des processus pour rendre la liste plus facile à analyser:

    SC QueryEx Type = SERVICE STATE = Tous | trouver / i «Service_name:»

    1. Par défaut, la commande répertorie tous les processus actifs. Pour rechercher des inactifs, modifiez le paramètre d'état:

    SC QueryEx Type = SERVICE INACTIVE

    1. Vous pouvez également interroger l'état d'un processus spécifique par son nom. Ceci est incroyablement utile pour les administrateurs système, car ils peuvent configurer des fichiers de lots pour vérifier de nombreux processus à la fois. Voici un exemple:

    SC Rester DeviceInstall

    Listing Windows Services dans PowerShell

    PowerShell est censé être un shell de ligne de commande dédié pour les fenêtres modernes. En tant que tel, il donne accès à presque tous les composants du système d'exploitation via les commandes, et les services Windows ne font pas exception.

    L'avantage de PowerShell est que vous pouvez l'automatiser facilement. Toutes les commandes PowerShell peuvent être compilées en scripts complexes, vous permettant de configurer des tâches d'administration du système sur plusieurs PC sans tracas.

    1. Commencez par ouvrir PowerShell. Vous pouvez le rechercher dans le menu Démarrer; Assurez-vous simplement d'exécuter une instance surélevée (je.e., En tant qu'administrateur).
    1. La commande la plus simple pour répertorier les services Windows sur PowerShell est Être en service. Il affiche tous les services sur votre ordinateur, ainsi que leur statut et leurs noms. Le seul problème est que la liste des services peut être assez longue.
    1. Lors de l'utilisation Être en service, C'est une meilleure idée d'exporter la liste vers un fichier texte. Vous pouvez le faire en utilisant des tuyaux, comme ceci:

    Get-Service | «C: \ logs \ all_services.SMS"

    1. Pour rechercher le statut d'un service spécifique, suivez le Être en service commande avec le nom du service. Vous pouvez demander l'état de plusieurs processus en séparant leurs noms avec des virgules.

    Get-Service Cryptsvc, ComsysApp

    1. Les tuyaux peuvent également être utilisés pour combiner Être en service cmdlet avec le Where-object fonction et filtrent les résultats par statut. La commande suivante l'illustre en obtenant tous les services en cours d'exécution:

    Get-Service | Où-objet $ _.Status -eq "Running"

    Vérification des dépendances des services

    Tout processus complexe est divisé en plusieurs services interdépendants. C'est pourquoi le simple fait d'obtenir le statut d'un service particulier n'est souvent pas suffisant. Vous devez également vérifier l'état des services dont le service dépend.

    1. Pour afficher les services requis par un service particulier, utilisez le -Services requis drapeau avec le Être en service cmdlet. Voici un exemple:

    Get-Service -Name Cryptsvc -RequiredServices

    1. De même, pour obtenir une liste de services qui dépendent d'un service spécifique, profitez du -Services de personnes à charge drapeau.

    Get-Service -Name Cryptsvc -dependentServices

    Ces deux drapeaux sont cruciaux pour écrire des scripts pour démarrer ou arrêter automatiquement les services Windows, car ils vous donnent un moyen de garder une trace de tous les services liés au service affecté.

    Énumérer les services Windows sur des ordinateurs distants

    La méthode PowerShell ne se limite pas aux ordinateurs locaux. Vous pouvez utiliser la commande Get-Service avec la même syntaxe décrite ci-dessus pour interroger également les processus de PC distants. Ajoutez simplement le -Nom de l'ordinateur indicateur à la fin pour spécifier de quel ordinateur distant pour récupérer des informations. 

    Voici un exemple:

    Get-Service Cryptsvc -CompulerName Workstation7

    Gérer les services Windows dans PowerShell

    Obtenir l'état des services n'est pas la seule chose que vous pouvez faire dans Windows PowerShell. En tant qu'environnement de script à part entière, il fournit des alternatives de script à toutes les options GUI.

    Les applications PowerShell peuvent arrêter, démarrer, redémarrer ou même modifier des services. Associé à automatisé Être en service Commandes, les scripts PowerShell peuvent être écrits pour automatiser entièrement les tâches de gestion du système quotidien.

    1. En plus de l'interrogation de l'état des services, vous pouvez également utiliser PowerShell pour les gérer. Les services de démarrage ou d'arrêt peuvent être effectués avec une seule commande, ne nécessitant que le nom du service. Par exemple, c'est ainsi que vous pouvez arrêter un service:

    STOP-SERVICE -NAME SUBSOLER

    1. Le démarrage d'un service va de la même manière:

    START-SERVICE -NAME SUBSOLER

    1. Si un service ne fonctionne pas correctement, vous pouvez également choisir de le redémarrer:

    Redémarrage-Name Spooleur

    1. Il y a aussi le poste de service de service défini qui peut être utilisé pour modifier les propriétés d'un service. Ici, nous désactivons le démarrage automatique du service de spouleur d'impression:

    Set-Service 'Spoleur' ​​-StartupType Disabled

    Quelle est la meilleure façon d'énumérer les services Windows?

    Que vous exécutiez Windows 10 ou un Windows Server, pouvoir afficher une liste de tous les services Windows peut être pratique. Vous pouvez diagnostiquer les problèmes avec les fonctions système critiques ou arrêter les services Microsoft inutiles pour améliorer les performances.

    À cette fin, PowerShell est la meilleure option. Bien que vous puissiez obtenir une liste de services dans l'invite de commande, les fonctionnalités supplémentaires fournies par PowerShell sont plus utiles.

    Vous pouvez utiliser PowerShell Cmdlets pour obtenir l'état du service des processus Windows, les filtrant par leur statut ou d'autres paramètres. Il est également facile de déterminer les services dépendants et de les démarrer ou de les arrêter au besoin.