Sdílet prostřednictvím


Get-Process

Získá procesy spuštěné v místním počítači.

Syntaxe

Name (Výchozí)

Get-Process
    [[-Name] <String[]>]
    [-Module]
    [-FileVersionInfo]
    [<CommonParameters>]

NameWithUserName

Get-Process
    [[-Name] <String[]>]
    -IncludeUserName
    [<CommonParameters>]

Id

Get-Process
    -Id <Int32[]>
    [-Module]
    [-FileVersionInfo]
    [<CommonParameters>]

IdWithUserName

Get-Process
    -Id <Int32[]>
    -IncludeUserName
    [<CommonParameters>]

InputObject

Get-Process
    -InputObject <Process[]>
    [-Module]
    [-FileVersionInfo]
    [<CommonParameters>]

InputObjectWithUserName

Get-Process
    -InputObject <Process[]>
    -IncludeUserName
    [<CommonParameters>]

Description

Rutina Get-Process získá procesy na místním počítači.

Bez parametrů získá tato rutina všechny procesy v místním počítači. Konkrétní proces můžete také zadat podle názvu procesu nebo ID procesu (PID) nebo propojením objektu System.Diagnostics.Process do této rutiny.

Ve výchozím nastavení vrátí tato rutina objekt Process , který obsahuje podrobné informace o procesu a podporuje metody, které vám umožňují řídit. Pomocí parametrů můžete změnit typ informací vrácených touto rutinou.

  • Modul: Načtěte informace pro každý modul načtený do procesu.
  • FileVersionInfo: Načtěte informace o verzi souboru pro hlavní modul procesu.

Poznámka:

Modul je spustitelný soubor nebo dynamická knihovna odkazů (DLL) načtená do procesu. Proces má jeden nebo více modulů. Hlavním modulem je modul, který se používá k počátečnímu spuštění procesu. Další informace naleznete v tématu ProcessModule – třída.

Příklady

Příklad 1: Získání seznamu všech spuštěných procesů v místním počítači

Get-Process

Tento příkaz získá seznam všech spuštěných procesů v místním počítači. Definici jednotlivých zobrazených sloupců najdete v části POZNÁMKY .

Chcete-li zobrazit všechny vlastnosti objektu Process , použijte Get-Process | Get-Member. PowerShell ve výchozím nastavení zobrazuje určité hodnoty vlastností pomocí jednotek, jako jsou kilobajtů (K) a megabajty (M). Skutečné hodnoty při přístupu pomocí operátoru přístupu člena (.) jsou v bajtech.

Příklad 2: Zobrazení podrobných informací o jednom nebo více procesech

Get-Process winword, explorer | Format-List *

Tento kanál zobrazí podrobné informace o procesech winword v explorer počítači. K určení procesů používá parametr Name, ale vynechá volitelný název parametru. Operátor kanálu (|) kanály Process objekty do Format-List rutiny, která zobrazí všechny dostupné vlastnosti (*) a jejich hodnoty pro každý objekt.

Procesy můžete identifikovat také podle JEJICH ID procesů. Například Get-Process -Id 664, 2060.

Příklad 3: Získání všech procesů s pracovní sadou větší než zadaná velikost

Get-Process | Where-Object { $_.WorkingSet -gt 20971520 }
Get-Process | Where-Object WorkingSet -GT 20MB

Rutina Get-Process vrátí spuštěné procesy. Výstup se předá rutině Where-Object , která vybere objekty s hodnotou WorkingSet větší než 20 971 520 bajtů.

V prvním příkladu Where-Object používá skriptblock k porovnání WorkingSet vlastnost každého Process objektu. V druhém příkladu Where-Object rutina používá zjednodušenou syntaxi k porovnání vlastnosti WorkingSet . V tomto případě -GT je parametr, nikoli relační operátor. Druhý příklad také používá číselnou literálovou příponu jako stručnou alternativu k 20971520. V PowerShellu představuje MB násobitel mebibajtů (MiB). 20MB se rovná 20 971 520 bajtům.

Příklad 4: Zobrazení procesů v počítači ve skupinách na základě priority

$processes = Get-Process
$processes | Sort-Object { $_.PriorityClass } | Format-Table -View Priority

Tyto příkazy zobrazují procesy v počítači ve skupinách na základě jejich třídy priority. První příkaz získá všechny procesy v počítači a uloží je do $processes proměnné.

Druhý příkaz předá objekty Process uložené v $processes proměnné do Sort-Object rutiny a pak do Format-Table rutiny, která naformátuje procesy pomocí zobrazení Priorita .

Příklad 5: Přidání vlastnosti do výchozího zobrazení výstupu Get-Process

Get-Process -Name pwsh | Format-Table -Property @(
    @{ Name = 'NPM(K)'; Expression = { [int] ($_.NPM / 1KB) } }
    @{ Name = 'PM(M)';  Expression = { [int] ($_.PM / 1MB) } }
    @{ Name = 'WS(M)';  Expression = { [int] ($_.WS / 1MB) } }
    @{ Name = 'CPU(s)'; Expression = { if ($_.CPU) { $_.CPU.ToString('N') } } }
    'Id'
    @{ Name = 'SI'; Expression = 'SessionId' }
    'ProcessName'
    'StartTime'
) -AutoSize
NPM(K) PM(M) WS(M) CPU(s)   Id SI ProcessName StartTime
------ ----- ----- ------   -- -- ----------- ---------
    84    46    79 18.297 3188  1 pwsh        4/14/2025 10:40:10 AM
    66    30    90 4.328  4640  1 pwsh        4/13/2025 3:33:50 PM
    66    30    90 4.516  9204  1 pwsh        4/14/2025 9:54:27 AM

Tento příklad načte procesy z místního počítače a všechny objekty Process načte do rutiny Format-Table . Format-Table Znovu vytvoří výchozí zobrazení výstupu objektu Process pomocí kombinace názvů vlastností a počítaných vlastností. Zobrazení obsahuje další vlastnost StartTime , která není k dispozici ve výchozím zobrazení.

Příklad 6: Získání informací o verzi procesu

Get-Process -Name pwsh -FileVersionInfo
ProductVersion   FileVersion      FileName
--------------   -----------      --------
7.5.0 SHA: 99da… 7.5.0.500        C:\Program Files\PowerShell\7\pwsh.exe

Tento příkaz používá parametr FileVersionInfo k získání informací o verzi souboru pro hlavní modul pwsh procesu. Hlavním modulem je soubor použitý ke spuštění procesu, což je pwsh.exev tomto případě .

Pokud chcete tento příkaz použít s procesy, které nevlastníte ve Windows Vista a novějších verzích Windows, musíte spustit PowerShell se zvýšenými uživatelskými právy (Spustit jako správce).

Příklad 7: Načtení modulů načtených se zadaným procesem

Get-Process -Name SQL* -Module

Tento příkaz pomocí parametru Module získá moduly načtené všemi procesy s názvem začínajícím na SQL.

Pokud chcete tento příkaz použít s procesy, které nevlastníte ve Windows Vista a novějších verzích Windows, musíte spustit PowerShell se zvýšenými uživatelskými právy (Spustit jako správce).

Příklad 8: Vyhledání vlastníka procesu

Get-Process -Name pwsh -IncludeUserName
WS(M)   CPU(s)      Id UserName                       ProcessName
-----   ------      -- --------                       -----------
46.53    21.70    3188 DOMAIN01\user01                pwsh
Get-CimInstance -ClassName Win32_Process -Filter "name='pwsh.exe'" |
    Invoke-CimMethod -MethodName GetOwner
Domain   ReturnValue User   PSComputerName
------   ----------- ----   --------------
DOMAIN01           0 user01

První příkaz ukazuje, jak získat vlastníka procesu. Výstup ukazuje, že vlastník je DOMAIN01\user01.

Druhý kanál ukazuje jiný způsob, jak získat vlastníka procesu pomocí Get-CimInstance a Invoke-CimMethod. Třída Win32_Process s filtrem načte pwsh procesy a vyvolaná GetOwner() metoda vrátí informace o doméně a uživateli procesu. Tato metoda je dostupná jenom ve Windows a nevyžaduje zvýšená uživatelská práva.

Příklad 9: Použití automatické proměnné k identifikaci procesu hostujícího aktuální relaci

Get-Process -Name 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

Tyto příkazy ukazují, jak použít $PID automatickou proměnnou k identifikaci procesu hostujícího aktuální relaci PowerShellu. Tuto metodu můžete použít k rozlišení hostitelského procesu od jiných pwsh procesů, které můžete chtít řídit.

První příkaz načte všechny pwsh spuštěné procesy. Druhý příkaz získá pwsh proces hostující aktuální relaci.

Příklad 10: Získání všech procesů s názvem hlavního okna a jejich zobrazení v tabulce

Get-Process |
    Where-Object -Property MainWindowTitle |
    Format-Table -Property Id, Name, MainWindowTitle -AutoSize

Tento kanál získá všechny procesy, které mají název hlavního okna, a zobrazí je v tabulce s ID a názvem procesu.

MainWindowTitle je jednou z mnoha užitečných vlastností typu Diagnostics.Process objektu, který Get-Process vrací. Chcete-li zobrazit všechny vlastnosti, použijte Get-Process | Get-Member.

Parametry

-FileVersionInfo

Označuje, že tato rutina získá informace o verzi souboru pro program, který běží v procesu.

Ve Windows Vista a novějších verzích Windows musíte spustit PowerShell se zvýšenými uživatelskými právy (Spustit jako správce), abyste mohli tento parametr použít u procesů, které nevlastníte.

Použití tohoto parametru je stejné jako přístup k MainModule.FileVersionInfo vlastnost každého Process objektu. Při použití tohoto parametru vrátí Get-ProcessFileVersionInfo objekt, nikoli Process objekt. Výstup vytvořený pomocí tohoto parametru nelze převést na rutinu, která očekává objekt Process , například Stop-Process.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False
Aliasy:FV, FVI

Sady parametrů

Name
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False
Id
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False
InputObject
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Id

Určuje jeden nebo více procesů podle ID procesu (PID). Můžete zadat více ID oddělených čárkami. Chcete-li získat PID procesu, použijte Get-Process. K získání PID aktuální relace PowerShellu použijte $PID.

Vlastnosti parametru

Typ:

Int32[]

Default value:None
Podporuje zástupné znaky:False
DontShow:False
Aliasy:identifikátor PID

Sady parametrů

Id
Position:Named
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:True
Hodnota ze zbývajících argumentů:False
IdWithUserName
Position:Named
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:True
Hodnota ze zbývajících argumentů:False

-IncludeUserName

Označuje, že tento příkaz přidá vlastnost UserName do každého vráceného objektu Process .

Vlastnosti parametru

Typ:SwitchParameter
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

NameWithUserName
Position:Named
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False
IdWithUserName
Position:Named
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False
InputObjectWithUserName
Position:Named
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-InputObject

Určuje jeden nebo více objektů procesu . Použijte proměnnou, která obsahuje objekty, nebo příkaz nebo výraz, který objekty získá.

Vlastnosti parametru

Typ:

Process[]

Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

InputObject
Position:Named
Povinné:True
Hodnota z kanálu:True
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False
InputObjectWithUserName
Position:Named
Povinné:True
Hodnota z kanálu:True
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Module

Označuje, že tato rutina získá moduly, které proces načetl.

Ve Windows Vista a novějších verzích Windows musíte spustit PowerShell se zvýšenými uživatelskými právy (Spustit jako správce), abyste mohli tento parametr použít u procesů, které nevlastníte.

Použití tohoto parametru je stejné jako přístup k module vlastnost každého process objektu. Při použití tohoto parametru vrátí Get-ProcessProcessModule objekt, nikoli Process Object. Výstup vytvořený pomocí tohoto parametru nelze převést na rutinu, která očekává objekt Process , například Stop-Process.

Pokud společně použijete parametry Module i FileVersionInfo , vrátí tato rutina objekt FileVersionInfo s informacemi o verzi souboru všech modulů.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

Name
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False
Id
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False
InputObject
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Name

Určuje jeden nebo více procesů podle názvu procesu. Můžete zadat více názvů procesů oddělených čárkami a použít zástupné znaky. Použití parametru -Name je volitelné.

Vlastnosti parametru

Typ:

String[]

Default value:None
Podporuje zástupné znaky:True
DontShow:False
Aliasy:ProcessName

Sady parametrů

Name
Position:0
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:True
Hodnota ze zbývajících argumentů:False
NameWithUserName
Position:0
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:True
Hodnota ze zbývajících argumentů:False

CommonParameters

Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.

Vstupy

Process

Objekty Process můžete do této rutiny převést.

Výstupy

Process

Ve výchozím nastavení vrátí tato rutina objekt System.Diagnostics.Process.

FileVersionInfo

Pokud používáte fileVersionInfo parametr, tato rutina vrátí System.Diagnostics.FileVersionInfo objekt.

ProcessModule

Pokud použijete parametr Module bez parametru FileVersionInfo , vrátí tato rutina objekt System.Diagnostics.ProcessModule .

Poznámky

PowerShell obsahuje následující aliasy pro Get-Process:

  • Všechny platformy:
    • gps
  • Windows:
    • ps

V počítačích s 64bitovým systémem Windows získá 64bitová verze PowerShellu hlavní modul a 64bitové moduly procesu. 32bitová verze PowerShellu získá pouze 32bitové moduly procesu.

Výstraha

Pokud používáte Get-Process k získání 64bitového procesu v 32bitové verzi PowerShellu, vlastnosti Path jako a MainModule vrácený objekt Process jsou $null. Musíte použít buď 64bitovou verzi PowerShellu, nebo třídu Win32_Process .

Pokud chcete získat informace o procesu ze vzdáleného počítače, použijte rutinu Invoke-Command. Další informace naleznete v tématu Invoke-Command.

Ve Windows můžete jako alternativu Get-Processpoužít třídu WMI (Windows Management Instrumentation) Win32_Process v PowerShellu. Další informace najdete tady:

Výchozí zobrazení objektu Process je zobrazení tabulky, které obsahuje následující sloupce.

  • NPM(K): Množství nestránkované paměti, kterou proces používá, v kilobajtech.
  • PM(M): Množství stránkovatelné paměti, kterou proces používá, v megabajtech.
  • WS(M):Velikost pracovní sady procesu v megabajtech. Pracovní sada se skládá ze stránek paměti, na které byl v nedávné době odkazován procesem.
  • procesorů: Doba procesoru, kterou proces použil na všech procesorech v sekundách.
  • ID: ID procesu (PID) procesu.
  • SI: ID relace procesu.
  • ProcessName: Název procesu.

Můžete použít předdefinovaná alternativní zobrazení pro objekty procesu , které jsou k dispozici, Format-Tablenapříklad StartTime a Priority. Můžete také navrhnout vlastní zobrazení.

Popis všech dostupných členů objektu Proces naleznete v části Vlastnosti procesu a Metody procesu.