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




Table des matières