Get-Process
Obtient les processus qui s’exécutent sur l’ordinateur local ou sur un ordinateur distant.
Syntaxe
Name (Par défaut)
Get-Process
[[-Name] <String[]>]
[-ComputerName <String[]>]
[-Module]
[-FileVersionInfo]
[<CommonParameters>]
NameWithUserName
Get-Process
[[-Name] <String[]>]
[-IncludeUserName]
[<CommonParameters>]
IdWithUserName
Get-Process
-Id <Int32[]>
[-IncludeUserName]
[<CommonParameters>]
Id
Get-Process
-Id <Int32[]>
[-ComputerName <String[]>]
[-Module]
[-FileVersionInfo]
[<CommonParameters>]
InputObjectWithUserName
Get-Process
-InputObject <Process[]>
[-IncludeUserName]
[<CommonParameters>]
InputObject
Get-Process
-InputObject <Process[]>
[-ComputerName <String[]>]
[-Module]
[-FileVersionInfo]
[<CommonParameters>]
Description
L’applet de commande Get-Process obtient les processus sur un ordinateur local ou distant.
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 transmettre 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 de commande Get-Process pour obtenir des informations de version de fichier pour le programme qui s’exécute dans le processus et obtenir les modules chargés par le processus.
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 s’exécutant 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 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 de commande Format-List, qui affiche toutes les propriétés disponibles * des objets de processus Winword et Explorer.
Vous pouvez également identifier les processus par leurs ID de processus.
Par exemple, Get-Process -Id 664, 2060.
Exemple 3 : Obtenir tous les processus avec un jeu de travail supérieur à une taille spécifiée
Get-Process | Where-Object {$_.WorkingSet -gt 20000000}
Cette commande obtient tous les processus dont le jeu de travail est supérieur à 20 Mo.
Il utilise l’applet de commande Get-Process pour obtenir tous les processus en cours d’exécution.
L’opérateur de pipeline
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 de quantité sont en octets, même si l’affichage par défaut les répertorie en kilo-octets et en mégaoctets.
Exemple 4 : Répertorier les processus sur l’ordinateur dans des 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 variable $A.
La deuxième commande canalise l’objet
La vue priorité
Exemple 5 : Ajouter une propriété à l’affichage de sortie Get-Process standard
Get-Process powershell -ComputerName S1, localhost | 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, MachineName, ProcessName -AutoSize
NPM(K) PM(K) WS(K) VM(M) CPU(s) Id MachineName ProcessName
------ ----- ----- ----- ------ -- ----------- -----------
6 23500 31340 142 1.70 1980 S1 powershell
6 23500 31348 142 2.75 4016 S1 powershell
27 54572 54520 576 5.52 4428 localhost powershell
Cet exemple récupère les processus à partir de l’ordinateur local et d’un ordinateur distant (S1).
Les processus récupérés sont redirigés vers la commande Format-Table qui ajoute la propriété MachineName à l’affichage de sortie Get-Process standard.
Exemple 6 : Obtenir des informations de version pour un processus
Get-Process powershell -FileVersionInfo
ProductVersion FileVersion FileName
-------------- ----------- --------
6.1.6713.1 6.1.6713.1 (f... C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe
Cette commande utilise le paramètre FileVersionInfo pour obtenir les informations de version du fichier powershell.exe qui est le module principal du 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 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
PS C:\> Get-Process powershell -IncludeUserName
Handles WS(K) CPU(s) Id UserName ProcessName
------- ----- ------ -- -------- -----------
782 132080 2.08 2188 DOMAIN01\user01 powershell
$p = Get-WmiObject Win32_Process -Filter "name='powershell.exe'"
$p.GetOwner()
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 3
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
Domain : DOMAIN01
ReturnValue : 0
User : user01
La première commande montre comment trouver le propriétaire d’un processus. Le paramètre IncludeUserName nécessite des droits utilisateur élevés (Exécuter en tant qu’administrateur). La sortie indique que le propriétaire est Domain01\user01.
La deuxième et la troisième commande permettent de trouver le propriétaire d’un processus.
La deuxième commande utilise Get-WmiObject pour obtenir le processus PowerShell.
Il l’enregistre dans la variable $p.
La troisième commande utilise la méthode GetOwner pour obtenir le propriétaire du processus dans $p. 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 powershell
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
308 26 52308 61780 567 3.18 5632 powershell
377 26 62676 63384 575 3.88 5888 powershell
Get-Process -Id $PID
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
396 26 56488 57236 575 3.90 5888 powershell
Ces commandes montrent comment utiliser la variable automatique $PID pour identifier le processus qui héberge la session PowerShell actuelle.
Vous pouvez utiliser cette méthode pour distinguer le processus hôte d’autres processus PowerShell que vous souhaiterez peut-être arrêter ou fermer.
La première commande obtient tous les processus PowerShell dans 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 principale et les afficher dans une table
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 une table avec l’ID de processus et le nom du processus.
La propriété mainWindowTitle Get-Process vers l’applet de commande Get-MemberGet-Process | Get-Member.
Paramètres
-ComputerName
Spécifie les ordinateurs pour lesquels cette applet de commande obtient des processus actifs. La valeur par défaut est l’ordinateur local.
Tapez le nom NetBIOS, une adresse IP ou un nom de domaine complet (FQDN) d’un ou plusieurs ordinateurs. Pour spécifier l’ordinateur local, tapez le nom de l’ordinateur, un point (.) ou localhost.
Ce paramètre ne s’appuie pas sur la communication à distance Windows PowerShell. Vous pouvez utiliser le paramètre ComputerName de cette applet de commande, même si votre ordinateur n’est pas configuré pour exécuter des commandes distantes.
Propriétés du paramètre
| Type: | String[] |
| Valeur par défaut: | Local computer |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | Cn |
Jeux de paramètres
Name
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
Id
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
InputObject
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-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.
Vous ne pouvez pas utiliser les paramètres FileVersionInfo et ComputerName de l’applet de commande Get-Process dans la même commande.
Pour obtenir des informations de version de fichier pour un processus sur un ordinateur distant, utilisez l’applet de commande Invoke-Command.
L’utilisation de ce paramètre équivaut à 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.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | FV, FVI |
Jeux de paramètres
Name
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
Id
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
InputObject
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Id
Spécifie un ou plusieurs processus par ID de processus (PID).
Pour spécifier plusieurs ID, utilisez des virgules pour séparer les ID.
Pour rechercher le PID d’un processus, tapez Get-Process.
Propriétés du paramètre
| Type: | Int32[] |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | Identifiant de processus (PID) |
Jeux de paramètres
IdWithUserName
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
Id
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-IncludeUserName
Indique que la valeur UserName de l’objet process
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
NameWithUserName
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
IdWithUserName
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
InputObjectWithUserName
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-InputObject
Spécifie un ou plusieurs objets de processus. Entrez une variable qui contient les objets, ou tapez une commande ou une expression qui obtient les objets.
Propriétés du paramètre
| Type: | Process[] |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
InputObjectWithUserName
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
InputObject
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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.
Pour obtenir les modules chargés par un processus sur un ordinateur distant, utilisez l’applet de commande Invoke-Command.
Ce paramètre équivaut à obtenir la propriété Modules de chaque objet de processus.
Lorsque vous utilisez ce paramètre, cette applet de commande retourne 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.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
Name
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
Id
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
InputObject
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Name
Spécifie un ou plusieurs processus par 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.
Propriétés du paramètre
| Type: | String[] |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | True |
| DontShow: | False |
| Alias: | ProcessName |
Jeux de paramètres
Name
| Position: | 0 |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
NameWithUserName
| Position: | 0 |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
CommonParameters
Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.
Entrées
Process
Vous pouvez diriger un objet de processus vers cette applet de commande.
Sorties
System.Diagnostics.Process, System.Diagnostics.FileVersionInfo, System.Diagnostics.ProcessModule
Par défaut, cette applet de commande retourne un objet System.Diagnostics.Process. Si vous utilisez le paramètre FileVersionInfo, il retourne un objet System.Diagnostics.FileVersionInfo. Si vous utilisez le paramètre Module, sans le paramètre FileVersionInfo, il retourne un objet System.Diagnostics.ProcessModule.
Notes
- Vous pouvez également faire référence à cette applet de commande par ses alias intégrés, ps et gps. Pour plus d’informations, consultez about_Aliases.
- Sur les ordinateurs exécutant une version 64 bits de Windows, la version 64 bits de PowerShell n’obtient que des modules de processus 64 bits et la version 32 bits de PowerShell n’obtient que des modules de processus 32 bits.
- Vous pouvez utiliser les propriétés et méthodes de l’objet WMI (Windows Management Instrumentation) Win32_Process dans PowerShell. Pour plus d’informations, consultez
Get-WmiObjectet le Kit de développement logiciel (SDK) WMI. - L’affichage par défaut d’un processus est une table qui inclut les colonnes suivantes. Pour obtenir une description de toutes les propriétés des objets de processus, consultez Propriétés de processus dans la bibliothèque MSDN.
- 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 utilisée par le processus, en kilo-octets.
- WS(K) : taille du jeu de travail du processus, en kilo-octets. Le jeu de travail se compose des 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 du 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 explications sur les concepts liés aux processus, consultez le glossaire dans le Centre d’aide et de support et l’aide pour le Gestionnaire des tâches.
- Vous pouvez également utiliser les autres vues intégrées des processus disponibles avec
Format-Table, telles que StartTime et priorité, et vous pouvez concevoir vos propres vues.