Comment obtenir une liste de processus similaire au Gestionnaire des tâches dans PowerShell

Cet article illustre comment nous pouvons obtenir des mesures de performance depuis notre ordinateur local sur PowerShell. Nous utilisons la cmdlet Get-Counter
dans PowerShell pour récupérer les données des compteurs de performance du programme de surveillance de la performance sur Windows.
Utiliser Get-Counter
pour obtenir une liste de processus similaire au gestionnaire de tâches dans PowerShell
Comme nous l’avons mentionné précédemment, la cmdlet Get-Counter
nous permet de lister tous les compteurs de performance disponibles et de surveiller et d’afficher des données à partir des compteurs. La cmdlet fonctionne à la fois pour les systèmes locaux et distants.
La cmdlet Get-Counter
affichera par défaut un ensemble de compteurs à intervalles d’une seconde. Étant donné que la plupart des ensembles de compteurs (mesures) sont protégés par des ACL (listes de contrôle d’accès), il est conseillé d’exécuter PowerShell en tant qu’administrateur.
Get-Counter
Les compteurs par défaut énumérés concernent le réseau, le processeur et la mémoire. Il répertorie également certaines données concernant le disque dur.
Pour obtenir une liste de tous les ensembles de compteurs sur un ordinateur local, exécutez la commande ci-dessous.
Get-Counter -ListSet *
Ajouter le paramètre ListSet
et un astérisque (*
) indique à la cmdlet Get-Counter
de récupérer une liste de tous les ensembles de compteurs de notre ordinateur. Notez le point (.
) dans la colonne MachineName
; cela représente notre ordinateur local.
Nous pouvons choisir un ensemble de compteurs et spécifier l’intervalle d’échantillonnage et le nombre maximum d’échantillons. L’exemple ci-dessous récupérera des métriques de tous les processeurs de notre ordinateur local.
La cmdlet récupérera les données à un intervalle de trois secondes et affichera quatre échantillons.
Get-Counter -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 3 -MaxSamples 4
Dans la commande ci-dessus, nous avons utilisé le paramètre Counter
pour donner le chemin du compteur \Processor(_Total)\% Processor Time
. Nous avons ensuite défini un intervalle de trois secondes avec le paramètre SampleInterval
pour le compteur spécifié.
Le paramètre MaxSamples
dicte quatre comme le nombre maximum de fois que nous vérifions le compteur. Si vous souhaitez récupérer des échantillons continus d’un compteur spécifique, utilisez le paramètre -Continuous
comme illustré ci-dessous :
Get-Counter -Counter "\Processor(_Total)\% Processor Time" -Continuous
Cela récupérera continuellement des échantillons à un intervalle d’une seconde jusqu’à ce que vous interrompiez l’exécution. Vous pouvez faire cela en appuyant sur CTRL+C.
Vous pouvez spécifier les intervalles avec le paramètre SampleInterval
.
Vous pouvez trier la liste par ordre alphabétique, comme montré ci-dessous :
Get-Counter -ListSet * |
Sort-Object -Property CounterSetName |
Format-Table CounterSetName, CounterSetType -AutoSize
Les résultats sont transmis à la cmdlet Sort-Object
. Le paramètre Property
dicte que les objets CounterSet
doivent être triés par CounterSetName
.
Les résultats sont ensuite transmis à Format-Table
. Le paramètre AutoSize
minimise la troncature en ajustant la largeur de la colonne.
Si vous souhaitez obtenir une liste de processus similaire à ceux affichés dans le gestionnaire de tâches de Windows, vous pouvez utiliser la commande ci-dessous :
Get-Counter "\Process(*)\Working Set - Private"
Pour obtenir le nombre de poignées, exécutez la commande ci-dessous :
Get-Counter "\Process(*)\Handle Count"
En résumé, la cmdlet Get-Counter
est la commande de référence lorsque nous voulons surveiller les mesures de performance de différents ensembles de compteurs dans des systèmes locaux et distants.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn