Comment obtenir la liste des processus en cours d'exécution dans PowerShell
-
Utilisez la cmdlet
Get-Process
pour afficher une liste des processus en cours d’exécution dans PowerShell - Conclusion

Cet article explore l’utilisation de PowerShell pour la surveillance des processus, en mettant l’accent sur la cmdlet Get-Process
. La cmdlet Get-Process
, un élément essentiel de la gestion des processus, offre une vue complète des processus en cours d’exécution sur une machine Windows, affichant des informations critiques telles que les ID de processus, les noms, l’utilisation de la mémoire et la consommation du CPU.
L’article développe méthodiquement la syntaxe et les paramètres de la cmdlet, répondant à la fois aux demandes de processus générales et spécifiques.
Utilisez la cmdlet Get-Process
pour afficher une liste des processus en cours d’exécution dans PowerShell
Il y a plus de 200 cmdlets disponibles dans l’environnement PowerShell. Chaque cmdlet est responsable de l’exécution d’une fonction spécifique.
La cmdlet Get-Process
est l’une des cmdlets fréquemment utilisées qui aide à récupérer la liste des processus en cours d’exécution sur la machine Windows.
Cette cmdlet fournit des informations utiles liées à chaque processus, telles que l’ID du processus, le nom, l’utilisation de la mémoire, etc. De plus, elle montre un instantané des processus en cours d’exécution sur le système.
Syntaxe :
Get-Process [[-ProcessName] string[]] [-NameOfTheComputer string[]]
[-FileVersionInfo] [-Module] [CommonParameters]
Get-Process -processID Int32[] [-ComputerName string[]]
[-FileVersionInfo] [-Module] [CommonParameters]
Get-Process -ProcessInputObject Process[] [-ComputerName string[]]
[-FileVersionInfo] [-Module] [CommonParameters]
Paramètres :
ProcessName string[
]: Spécifie un tableau de noms de processus à obtenir. Ce paramètre accepte des caractères génériques pour la correspondance de motifs. Si ce paramètre est omis,Get-Process
récupère tous les processus.ProcessId Int32[]
: Spécifie les ID de processus des processus à récupérer. Ce paramètre vous permet de cibler directement des processus spécifiques.InputObject Process[]
: Spécifie un tableau d’objets de processus. Ce paramètre vous permet de diriger des objets de processus versGet-Process
.NameOfTheComputer string[]
: Indique le(s) nom(s) des ordinateurs sur lesquels exécuter la commande. Si ce paramètre est omis,Get-Process
récupère les processus de l’ordinateur local.FileVersionInfo
: Ajoute des informations sur la version du fichier aux objets de processus. Ceci est utile lorsque vous souhaitez des détails sur le fichier exécutable du processus, tels que la version, le nom du produit, etc.Module
: Inclut les modules (DLL et fichiers exécutables) qui sont chargés par chaque processus. Cela est utile pour une analyse plus détaillée, comme vérifier quelles DLL sont chargées par un processus.[CommonParameters]
: Ce sont les paramètres que toutes les cmdlets supportent, tels que-Verbose
,-Debug
,-ErrorAction
,-ErrorVariable
,-OutVariable
,-OutBuffer
et-PipelineVariable
.
Les paramètres sont optionnels pour la cmdlet Get-Process
, et vous pouvez utiliser ces paramètres en fonction de vos besoins.
Afficher tous les processus en cours d’exécution
Nous pouvons directement utiliser la commande Get-Process
sans aucun paramètre. Elle devrait afficher tous les processus en cours d’exécution à ce moment-là.
De plus, l’alias gps
peut être utilisé à la place de la commande Get-Process
.
Get-Process
gps
Sortie :
Lors de l’exécution de Get-Process
ou gps
, PowerShell commence une requête à l’échelle du système pour rassembler des informations sur tous les processus actifs. L’absence de paramètres dans ces commandes indique à PowerShell de ne pas appliquer de filtres et de récupérer les détails pour chaque processus.
PowerShell collecte alors des données détaillées sur chaque processus en cours d’exécution. Ces données incluent divers attributs qui décrivent l’état et les caractéristiques de ces processus.
PowerShell les formate dans un tableau pour affichage. Ce format tabulaire est conçu pour présenter l’information de manière claire et lisible.
Le tableau inclut généralement plusieurs colonnes clés :
Id
: Cette colonne montre l’Identifiant de Processus (PID
), une étiquette numérique unique assignée à chaque processus. LePID
est crucial pour identifier et gérer spécifiquement les processus.ProcessName
: C’est le nom du fichier exécutable qui a initié le processus. Cela aide à reconnaître facilement le processus, surtout pour les applications bien connues.CPU(s)
: Ici, nous voyons le temps CPU que le processus a consommé. Cela est mesuré en secondes et est vital pour évaluer quels processus utilisent des ressources CPU importantes, pouvant impacter la performance du système.PM(K)
: Cela signifiePaged Memory
en Kilooctets. Cela représente la taille de la mémoire que le processus utilise et qui peut être paginée sur disque. Ce métrica est important pour surveiller l’utilisation de la mémoire des processus, ce qui est crucial pour l’optimisation de la performance et la gestion des ressources.
Récupérer les informations pour un seul processus
Lorsque nous utilisons PowerShell pour récupérer des informations sur un processus spécifique, nous avons quelques options de syntaxe. Get-Process -Name processName
et Get-Process processName
sont tous deux valides et obtiennent le même résultat, mais elles diffèrent légèrement dans leur structure syntaxique.
Get-Process -Name typora
OU
Get-Process typora
Lorsque nous exécutons Get-Process -Name typora
ou Get-Process typora
, PowerShell filtre les processus en cours d’exécution et retourne des informations spécifiquement pour le processus nommé typora
. Ceci est particulièrement utile lorsque nous connaissons le nom exact du processus qui nous intéresse.
En arrière-plan, PowerShell parcourt la liste de tous les processus et fait correspondre le nom du processus avec typora
. Si le processus est en cours d’exécution, ses détails sont affichés.
Sortie :
Récupérer les informations pour plusieurs processus
Lorsque nous utilisons la cmdlet Get-Process
dans PowerShell pour récupérer des informations pour plusieurs processus, comme dans la commande Get-Process NotePad, Outlook
, nous profitons de la capacité de PowerShell à gérer plusieurs éléments simultanément.
Get-Process NotePad, Outlook
En exécutant Get-Process NotePad, Outlook
, nous instruisons PowerShell de récupérer les détails pour plusieurs processus simultanément, dans ce cas NotePad
et Outlook
. Cette commande est utile lorsque nous devons surveiller plusieurs processus spécifiques.
PowerShell exécute une opération similaire à celle de la commande à un seul processus, mais pour chaque nom de processus spécifié, affichant toutes les correspondances.
Sortie :
De plus, vous pouvez utiliser des caractères génériques pour le nom du processus.
Récupérer des objets de processus avec les attributs donnés
Nous pouvons afficher les informations de l’objet processus pour des attributs spécifiques lorsque nécessaire. Récupérons uniquement l’ID de Processus
pour le processus NotePad
.
(Get-Process NotePad).Id
Dans la commande (Get-Process NotePad).Id
, nous obtenons d’abord l’objet de processus pour NotePad
et ensuite accédons à sa propriété Id
. Cette technique est utile lorsque nous ne sommes intéressés qu’à des informations spécifiques sur un processus, comme son ID de Processus
.
Sortie :
De même, nous pouvons récupérer l’attribut de temps CPU pour le processus NotePad
, comme montré ci-dessous.
(Get-Process NotePad).CPU
De même, (Get-Process NotePad).CPU
récupère les informations sur l’utilisation CPU pour le processus NotePad
. Ces commandes démontrent comment nous pouvons extraire des points de données particuliers des objets processus.
Sortie :
Afficher le propriétaire du processus
La sortie par défaut de la commande Get-Process
n’affiche pas l’attribut ProcessOwner
. Mais cela peut être une information précieuse lorsque vous devez terminer un processus donné.
Nous pouvons utiliser le paramètre -IncludeUserName
pour inclure l’attribut ProcessOwner
dans la sortie.
Get-Process -Name notepad -IncludeUserName
La commande Get-Process -Name notepad -IncludeUserName
élargit le comportement par défaut de Get-Process
en incluant le nom d’utilisateur du propriétaire du processus dans la sortie. Le paramètre -IncludeUserName
est essentiel lorsque nous devons identifier quel utilisateur exécute un processus spécifique, ce qui peut être critique dans des environnements multi-utilisateurs ou pour le dépannage.
Cette commande améliore notre visibilité sur les processus, en particulier en ce qui concerne leur propriété.
Sortie :
Conclusion
Ce guide complet a éclairé le pouvoir et la polyvalence de PowerShell dans la gestion et la surveillance des processus système. Nous avons parcouru les applications pratiques de la cmdlet Get-Process
, partant de la liste de tous les processus en cours d’exécution jusqu’à la localisation de processus spécifiques et l’extraction d’attributs particuliers des processus.
L’article a également montré l’habileté de PowerShell à gérer plusieurs processus simultanément et la facilité d’intégration d’informations centrées sur l’utilisateur, telles que la propriété des processus.
Cette intégration de la cmdlet Get-Process
souligne la robustesse et l’adaptabilité de PowerShell dans le domaine de la gestion des processus, offrant un éventail d’outils aux administrateurs système pour surveiller, analyser et gérer efficacement les processus dans un environnement Windows.
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.