Get-Process
Obtient les processus qui s’exécutent sur l’ordinateur local.
Syntax
Get-Process
[[-Name] <String[]>]
[-Module]
[-FileVersionInfo]
[<CommonParameters>]
Get-Process
[[-Name] <String[]>]
-IncludeUserName
[<CommonParameters>]
Get-Process
-Id <Int32[]>
[-Module]
[-FileVersionInfo]
[<CommonParameters>]
Get-Process
-Id <Int32[]>
-IncludeUserName
[<CommonParameters>]
Get-Process
-InputObject <Process[]>
[-Module]
[-FileVersionInfo]
[<CommonParameters>]
Get-Process
-InputObject <Process[]>
-IncludeUserName
[<CommonParameters>]
Description
L’applet Get-Process
de commande obtient les processus sur un ordinateur local.
Sans paramètres, cette applet de commande obtient tous les processus sur l’ordinateur local. Vous pouvez également spécifier un processus particulier par nom de processus ou ID de processus (PID) ou passer un objet de processus via le pipeline à cette applet de commande.
Par défaut, cette applet de commande retourne un objet de processus qui contient des informations détaillées sur le processus et prend en charge les méthodes qui vous permettent de démarrer et d’arrêter le processus. Vous pouvez également utiliser les paramètres de l’applet Get-Process
de commande pour obtenir des informations de version de fichier pour le programme qui s’exécute dans le processus et pour obtenir les modules que le processus a chargés.
Exemples
Exemple 1 : obtenir la liste de tous les processus actifs sur l’ordinateur local
Get-Process
Cette commande obtient la liste de tous les processus actifs en cours d’exécution sur l’ordinateur local. Pour obtenir une définition de chaque colonne, consultez la section Notes .
Exemple 2 : Obtenir toutes les données disponibles sur un ou plusieurs processus
Get-Process winword, explorer | Format-List *
Cette commande obtient toutes les données disponibles sur les processus liés à Winword et à Explorer sur l'ordinateur. Il utilise le paramètre Name pour spécifier les processus, mais il omet le nom de paramètre facultatif. L’opérateur de pipeline (|
) transmet les données à l’applet Format-List
de commande, qui affiche toutes les propriétés disponibles (*
) des objets winword et Explorer processus.
Vous pouvez également identifier un processus à l'aide de son identificateur de processus. Par exemple, Get-Process -Id 664, 2060
.
Exemple 3 : Obtenir tous les processus dont le jeu de travail est supérieur à une taille spécifiée
Get-Process | Where-Object {$_.WorkingSet -gt 20000000}
Cette commande obtient tous les processus qui ont une plage de travail supérieure à 20 Mo. Il utilise l’applet de Get-Process
commande pour obtenir tous les processus en cours d’exécution. L’opérateur de pipeline (|
) transmet les objets de processus à l’applet Where-Object
de commande, qui sélectionne uniquement l’objet dont la valeur est supérieure à 20 000 000 octets pour la propriété WorkingSet .
WorkingSet est l’une des nombreuses propriétés des objets de processus. Pour afficher toutes les propriétés, tapez Get-Process | Get-Member
. Par défaut, les valeurs de toutes les propriétés Amount sont exprimées en octets, bien que l'affichage par défaut les répertorie en kilo-octets et mégaoctets.
Exemple 4 : Répertorier les processus sur l’ordinateur en groupes en fonction de la priorité
$A = Get-Process
$A | Get-Process | Format-Table -View priority
Ces commandes répertorient les processus sur l’ordinateur dans des groupes en fonction de leur classe de priorité. La première commande obtient tous les processus sur l’ordinateur, puis les stocke dans la $A
variable .
La deuxième commande canalise l’objet Process stocké dans la $A
variable vers l’applet Get-Process
de commande, puis vers l’applet Format-Table
de commande, qui met en forme les processus à l’aide de l’affichage Priorité .
L’affichage Priorité et d’autres affichages sont définis dans les fichiers au format PS1XML du répertoire de base PowerShell ($pshome
).
Exemple 5 : Ajouter une propriété à l’affichage de sortie standard Get-Process
Get-Process pwsh | Format-Table `
@{Label = "NPM(K)"; Expression = {[int]($_.NPM / 1024)}},
@{Label = "PM(K)"; Expression = {[int]($_.PM / 1024)}},
@{Label = "WS(K)"; Expression = {[int]($_.WS / 1024)}},
@{Label = "VM(M)"; Expression = {[int]($_.VM / 1MB)}},
@{Label = "CPU(s)"; Expression = {if ($_.CPU) {$_.CPU.ToString("N")}}},
Id, ProcessName, StartTime -AutoSize
NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName StartTime
------ ----- ----- ----- ------ -- ----------- ---------
143 239540 259384 2366162 22.73 12720 pwsh 12/5/2022 3:21:51 PM
114 61776 104588 2366127 11.45 18336 pwsh 12/5/2022 7:30:53 AM
156 77924 82060 2366185 10.47 18812 pwsh 12/5/2022 7:30:52 AM
85 48216 115192 2366074 1.14 24428 pwsh 12/8/2022 9:14:15 AM
Cet exemple récupère des processus à partir de l’ordinateur local. Les processus récupérés sont redirigés vers la Format-Table
commande qui ajoute la propriété StartTime à l’affichage de sortie standard Get-Process
.
Exemple 6 : Obtenir des informations de version pour un processus
Get-Process pwsh -FileVersionInfo
ProductVersion FileVersion FileName
-------------- ----------- --------
6.1.2 6.1.2 C:\Program Files\PowerShell\6\pwsh.exe
Cette commande utilise le paramètre FileVersionInfo pour obtenir les informations de version du pwsh.exe
fichier qui est le module main pour le processus PowerShell.
Pour exécuter cette commande avec des processus que vous ne possédez pas sur Windows Vista et les versions ultérieures de Windows, vous devez ouvrir PowerShell avec l’option Exécuter en tant qu’administrateur .
Exemple 7 : Obtenir des modules chargés avec le processus spécifié
Get-Process SQL* -Module
Cette commande utilise le paramètre Module pour obtenir les modules qui ont été chargés par le processus.
Cette commande obtient les modules des processus dont les noms commencent par SQL
.
Pour exécuter cette commande sur Windows Vista et les versions ultérieures de Windows avec des processus que vous ne possédez pas, vous devez démarrer PowerShell avec l’option Exécuter en tant qu’administrateur .
Exemple 8 : Rechercher le propriétaire d’un processus
Get-Process pwsh -IncludeUserName
Handles WS(K) CPU(s) Id UserName ProcessName
------- ----- ------ -- -------- -----------
782 132080 2.08 2188 DOMAIN01\user01 pwsh
Cette commande montre comment rechercher le propriétaire d'un processus.
Sur Windows, le paramètre IncludeUserName nécessite des droits d’utilisateur élevés (Exécuter en tant qu’administrateur).
La sortie indique que le propriétaire est Domain01\user01
.
Exemple 9 : Utiliser une variable automatique pour identifier le processus hébergeant la session active
Get-Process pwsh
NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName
------ ----- ----- ------ -- -- -----------
83 96.21 105.95 4.33 1192 10 pwsh
79 83.81 117.61 2.16 10580 10 pwsh
Get-Process -Id $PID
NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName
------ ----- ----- ------ -- -- -----------
83 96.21 77.53 4.39 1192 10 pwsh
Ces commandes montrent comment utiliser la $PID
variable automatique pour identifier le processus qui héberge la session PowerShell actuelle. Vous pouvez utiliser cette méthode pour distinguer le processus hôte des autres processus PowerShell que vous pouvez arrêter ou fermer.
La première commande obtient tous les processus PowerShell de la session active.
La deuxième commande obtient le processus PowerShell qui héberge la session active.
Exemple 10 : Obtenir tous les processus qui ont un titre de fenêtre main et les afficher dans un tableau
Get-Process | Where-Object {$_.mainWindowTitle} | Format-Table Id, Name, mainWindowtitle -AutoSize
Cette commande obtient tous les processus qui ont un titre de fenêtre principale et les affiche dans un tableau avec l'ID de processus et le nom du processus.
La propriété mainWindowTitle n’est qu’une des nombreuses propriétés utiles de l’objet Process retourné Get-Process
. Pour afficher toutes les propriétés, dirigez les résultats d’une Get-Process
commande vers l’applet de Get-Member
commande Get-Process | Get-Member
.
Paramètres
-FileVersionInfo
Indique que cette applet de commande obtient les informations de version de fichier pour le programme qui s’exécute dans le processus.
Sur Windows Vista et les versions ultérieures de Windows, vous devez ouvrir PowerShell avec l’option Exécuter en tant qu’administrateur pour utiliser ce paramètre sur les processus que vous ne possédez pas.
L’utilisation de ce paramètre revient à obtenir la propriété MainModule.FileVersionInfo de chaque objet de processus. Lorsque vous utilisez ce paramètre, Get-Process
retourne un objet FileVersionInfoSystem.Diagnostics.FileVersionInfo, et non un objet de processus. Par conséquent, vous ne pouvez pas diriger la sortie de la commande vers une applet de commande qui attend un objet de processus, tel que Stop-Process
.
Type: | SwitchParameter |
Aliases: | FV, FVI |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Id
Spécifie un ou plusieurs processus par identificateur de processus (PID). Lorsque vous spécifiez plusieurs identificateurs, séparez-les à l'aide de virgules. Pour rechercher le PID d’un processus, tapez Get-Process
.
Type: | Int32[] |
Aliases: | PID |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-IncludeUserName
Indique que la valeur UserName de l’objet Process est retournée avec les résultats de la commande .
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Spécifie un ou plusieurs objets processus. Entrez une variable contenant les objets, ou tapez une commande ou une expression qui obtient ces objets.
Type: | Process[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Module
Indique que cette applet de commande obtient les modules qui ont été chargés par les processus.
Sur Windows Vista et les versions ultérieures de Windows, vous devez ouvrir PowerShell avec l’option Exécuter en tant qu’administrateur pour utiliser ce paramètre sur les processus que vous ne possédez pas.
Ce paramètre équivaut à obtenir la propriété Modules de chaque objet de processus. Lorsque vous utilisez ce paramètre, cette applet de commande renvoie un objet ProcessModuleSystem.Diagnostics.ProcessModule, et non un objet de processus. Par conséquent, vous ne pouvez pas diriger la sortie de la commande vers une applet de commande qui attend un objet de processus, tel que Stop-Process
.
Lorsque vous utilisez les paramètres Module et FileVersionInfo dans la même commande, cette applet de commande retourne un objet FileVersionInfo avec des informations sur la version de fichier de tous les modules.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Spécifie un ou plusieurs processus en fonction de leur nom de processus. Vous pouvez taper plusieurs noms de processus (séparés par des virgules) et utiliser des caractères génériques. Le nom du paramètre (Name
) est facultatif.
Type: | String[] |
Aliases: | ProcessName |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | True |
Entrées
Vous pouvez diriger un objet de processus vers cette applet de commande.
Sorties
Par défaut, cette applet de commande renvoie un objet System.Diagnostics.Process .
Si vous utilisez le paramètre FileVersionInfo , cette applet de commande renvoie un objet FileVersionInfo .
Si vous utilisez le paramètre Module , sans le paramètre FileVersionInfo , cette applet de commande renvoie un objet ProcessModule .
Notes
PowerShell inclut les alias suivants pour Get-Process
:
- Toutes les plateformes :
gps
- Windows :
ps
Sur les ordinateurs qui exécutent une version 64 bits de Windows, la version 64 bits de PowerShell obtient uniquement des modules de processus 64 bits et la version 32 bits de PowerShell obtient uniquement des modules de processus 32 bits.
Pour obtenir des informations de processus à partir d’un ordinateur distant, utilisez l’applet de Invoke-Command
commande . Pour plus d’informations, consultez Invoke-Command.
Vous pouvez utiliser les propriétés et les méthodes de l’objet Win32_Process Windows Management Instrumentation (WMI) dans PowerShell. Pour plus d’informations, consultez Win32_Process.
L'affichage par défaut d'un processus est un tableau comportant les colonnes suivantes. Pour obtenir une description de toutes les propriétés des objets de processus, consultez Propriétés du processus.
- Handles : nombre de handles que le processus a ouverts.
- NPM(K) : quantité de mémoire non paginée utilisée par le processus, en kilo-octets.
- PM(K) : quantité de mémoire paginable que le processus utilise, en kilo-octets.
- WS(K) : taille du jeu de travail du processus, en kilo-octets. La plage de travail inclut les pages de mémoire récemment référencées par le processus.
- VM(M) : quantité de mémoire virtuelle utilisée par le processus, en mégaoctets. La mémoire virtuelle inclut le stockage dans les fichiers de pagination sur le disque.
- Processeur(s) : durée processeur utilisée par le processus sur tous les processeurs, en secondes.
- ID : ID de processus (PID) du processus.
- ProcessName : nom du processus. Pour obtenir des informations sur les concepts liés aux processus, consultez le Glossaire du Centre d'aide et de support et l'Aide du Gestionnaire des tâches.
Vous pouvez également utiliser les autres vues intégrées des processus disponibles avec Format-Table
, telles que StartTime et Priority, et vous pouvez concevoir vos propres vues.