Obtient les processus qui s'exécutent sur l'ordinateur local ou un ordinateur distant.
Syntaxe
Get-Process [[-Name] <string[]>] [-ComputerName <string[]>] [-FileVersionInfo] [-Module] [<CommonParameters>] Get-Process -Id <Int32[]> [-ComputerName <string[]>] [-FileVersionInfo] [-Module] [<CommonParameters>] Get-Process -InputObject <Process[]> [-ComputerName <string[]>] [-FileVersionInfo] [-Module] [<CommonParameters>]
Description
L'applet de commande Get-Process obtient les processus présents sur un ordinateur local ou distant.
Sans paramètre, Get-Process obtient tous les processus présents sur l'ordinateur local. Vous pouvez également spécifier un processus particulier en indiquant son nom ou son identificateur de processus ou passer un objet processus à Get-Process via le pipeline.
Par défaut, Get-Process retourne un objet processus qui possède des informations détaillées sur le processus et prend en charge des méthodes qui vous permettent de démarrer et d'arrêter le processus. Vous pouvez également utiliser les paramètres de Get-Process pour obtenir des informations sur la version de fichier du programme qui s'exécute dans le processus et obtenir les modules qui ont été chargés par le processus.
Paramètres
-ComputerName <string[]>
Obtient les processus qui s'exécutent sur les ordinateurs spécifiés. La valeur par défaut est l'ordinateur local.
Tapez le nom NetBIOS, une adresse IP ou un nom de domaine complet d'un ou de 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 Get-Process même si votre ordinateur n'est pas configuré pour exécuter des commandes distantes.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
true (ByPropertyName) |
Accepter les caractères génériques ? |
false |
-FileVersionInfo
Obtient des informations sur la version de fichier du programme qui s'exécute dans le processus.
Sous Windows Vista et les versions ultérieures de Windows, vous devez ouvrir Windows 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 processus. Lorsque vous utilisez ce paramètre, Get-Process retourne un objet FileVersionInfo (System.Diagnostics.FileVersionInfo), et non un objet processus. Par conséquent, vous ne pouvez pas diriger la sortie de la commande vers une applet de commande qui attend un objet processus, tel que Stop-Process.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-Id <Int32[]>
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 ».
Obligatoire ? |
true |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
true (ByPropertyName) |
Accepter les caractères génériques ? |
false |
-InputObject <Process[]>
Spécifie un ou plusieurs objets processus. Entrez une variable contenant les objets, ou tapez une commande ou une expression permettant d'obtenir ces objets.
Obligatoire ? |
true |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
true (ByValue) |
Accepter les caractères génériques ? |
false |
-Module
Obtient les modules qui ont été chargés par les processus.
Sous Windows Vista et les versions ultérieures de Windows, vous devez ouvrir Windows 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 revient à obtenir la propriété Modules de chaque objet processus. Lorsque vous utilisez ce paramètre, Get-Process retourne un objet ProcessModule (System.Diagnostics.ProcessModule), et non un objet processus. Par conséquent, vous ne pouvez pas diriger la sortie de la commande vers une applet de commande qui attend un objet processus, tel que Stop-Process.
Lorsque vous utilisez les paramètres Module et FileVersionInfo dans la même commande, Get-Process retourne un objet FileVersionInfo qui contient des informations sur la version de fichier de tous les modules.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-Name <string[]>
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) ou utiliser des caractères génériques. Le nom de paramètre (« Name ») est facultatif.
Obligatoire ? |
false |
Position ? |
1 |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
true (ByPropertyName) |
Accepter les caractères génériques ? |
true |
<CommonParameters>
Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.
Entrées et sorties
Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.
Entrées |
System.Diagnostics.Process Vous pouvez diriger un objet processus vers Get-Process. |
Sorties |
System.Diagnostics.Process, System.Diagnotics.FileVersionInfo, System.Diagnostics.ProcessModule Par défaut, Get-Process retourne un objet System.Diagnostics.Process. Si vous utilisez le paramètre FileVersionInfo, il retourne un objet System.Diagnotics.FileVersionInfo. Si vous utilisez le paramètre Module (sans le paramètre FileVersionInfo), il retourne un objet System.Diagnostics.ProcessModule. |
Remarques
Vous ne pouvez pas utiliser les paramètres Name, ID et InputObject dans la même commande.
Vous pouvez également faire référence à Get-Process par ses alias intégrés, « ps » et « gps ». Pour plus d'informations, consultez about_Aliases.
Vous pouvez également utiliser les propriétés et les méthodes de l'objet WMI Win32_Process dans Windows PowerShell. Pour plus d'informations, consultez Get-WmiObject et le Kit de développement logiciel WMI (Windows Management Instrumentation) (SDK).
L'affichage par défaut d'un processus est un tableau comportant les colonnes suivantes :
-- Handles : nombre de descripteurs ouverts par le processus.
-- NPM(K) : quantité de mémoire non paginée utilisée par le processus (en kilo-octets).
-- PM(K) : quantité de mémoire paginée utilisée par le processus (en kilo-octets).
-- WS(K) : taille de la plage 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.
-- CPU(s) : quantité de temps processeur utilisée par le processus sur l'ensemble des processeurs (en secondes).
-- ID : identificateur du processus (PID).
-- 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 d'autres vues intégrées de processus disponibles avec Format-Table, telles que « StartTime » et « Priority », ou encore créer vos propres vues. Pour plus d'informations, consultez Format-Table.
Exemple 1
C:\PS>Get-Process Description ----------- Cette commande obtient une liste de tous les processus en cours d'exécution sur l'ordinateur local. Pour une définition de chaque colonne, consultez la section « Remarques supplémentaires » de la rubrique d'aide de Get-Help.
Exemple 2
C:\PS>Get-Process winword, explorer | format-list * Description ----------- Cette commande obtient toutes les données disponibles sur les processus liés à Winword et à Explorer sur l'ordinateur. Elle utilise le paramètre Name pour spécifier le processus, mais elle omet le nom de paramètre optionnel. L'opérateur de pipeline (|) passe les données à l'applet de commande Format-List, qui affiche toutes les propriétés disponibles (*) des objets processus Winword et Explorer. Vous pouvez également identifier un processus à l'aide de son identificateur de processus. Par exemple, « get-process - id 664, 2060 ».
Exemple 3
C:\PS>get-process | where-object {$_.WorkingSet -gt 20000000} Description ----------- Cette commande obtient tous les processus qui ont une plage de travail supérieure à 20 Mo. Elle utilise l'applet de commande Get-Process pour obtenir tous les processus en cours d'exécution. L'opérateur de pipeline (|) passe les objets processus à l'applet de commande Where-Object 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 Process. Pour voir 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
C:\PS>$a = get-process C:\PS> get-process -inputobject $a | format-table -view priority Description ----------- Ces commandes répertorient les processus présents sur l'ordinateur dans des groupes, en fonction de leur classe de priorité. La première commande obtient tous les processus présents sur l'ordinateur, puis elle les stocke dans la variable $a. La deuxième commande utilise le paramètre InputObject pour passer les objets processus qui sont stockés dans la variable $a à l'applet de commande Get-Process. L'opérateur de pipeline passe les objets à l'applet de commande Format-Table, qui met en forme les processus à l'aide de la vue Priorité. La vue Priorité et d'autres vues sont définies dans des fichiers de format PS1XML, dans le répertoire de base de Windows PowerShell ($pshome).
Exemple 5
C:\PS>get-process powershell -computername S1, localhost | ft @{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 -ne $()) { $_.CPU.ToString("N")}}}, Id, MachineName, ProcessName -auto NPM(K) PM(K) WS(K) VM(M) CPU(s) Id MachineName ProcessName ------ ----- ----- ----- ------ -- ----------- ----------- 6 23500 31340 142 1980 S1 powershell 6 23500 31348 142 4016 S1 powershell 27 54572 54520 576 4428 localhost powershell Description ----------- Cet exemple fournit une commande Format-Table (alias = ft) qui ajoute la propriété MachineName à l'affichage de sortie standard de Get-Process.
Exemple 6
C:\PS>get-process powershell -fileversioninfo ProductVersion FileVersion FileName -------------- ----------- -------- 6.1.6713.1 6.1.6713.1 (f... C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe Description ----------- Cette commande utilise le paramètre FileVersionInfo pour obtenir des informations sur la 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 sous Windows Vista et les versions ultérieures de Windows, vous devez ouvrir Windows PowerShell avec l'option Exécuter en tant qu'administrateur.
Exemple 7
C:\PS>get-process sql* -module Description ----------- 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 le nom commence par « sql ». Pour exécuter cette commande sous Windows Vista (et les versions ultérieures de Windows) avec des processus que vous ne possédez pas, vous devez lancer Windows PowerShell avec l'option Exécuter en tant qu'administrateur.
Exemple 8
C:\PS>$p = get-wmiobject win32_process -filter "name='powershell.exe'" C:\PS> $p.getowner() __GENUS : 2 __CLASS : __PARAMETERS __SUPERCLASS : __DYNASTY : __PARAMETERS __RELPATH : __PROPERTY_COUNT : 3 __DERIVATION : {} __SERVER : __NAMESPACE : __PATH : Domain : DOMAIN01 ReturnValue : 0 User : user01 Description ----------- Cette commande montre comment rechercher le propriétaire d'un processus. Comme l'objet System.Diagnostics.Process retourné par Get-Process n'a pas de propriété ou de méthode qui retourne le propriétaire du processus, la commande utilise l'applet de commande Get-WmiObject pour obtenir un objet Win32_Process qui représente le même processus. La première commande utilise Get-WmiObject pour obtenir le processus PowerShell. Elle l'enregistre dans la variable $p. La deuxième commande utilise la méthode GetOwner pour obtenir le propriétaire du processus dans $p. La commande indique que le propriétaire est Domain01\user01.
Exemple 9
C:\PS>get-process powershell C:\PS> get-process -id $pid C:\PS> 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 C:\PS> 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 Description ----------- Ces commandes montrent comment utiliser la variable automatique $pid pour identifier le processus qui héberge la session active Windows PowerShell. 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.
Voir aussi