Sdílet prostřednictvím


Get-Process

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

Syntax

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 předat objekt procesu prostřednictvím kanálu této rutině.

Tato rutina ve výchozím nastavení vrátí objekt procesu, který obsahuje podrobné informace o procesu a podporuje metody, které umožňují spustit a zastavit proces. Pomocí parametrů rutiny Get-Process můžete také získat informace o verzi souboru pro program, který se spouští v procesu, a získat moduly, které proces načetl.

Příklady

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

Get-Process

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

Příklad 2: Získání všech dostupných dat o jednom nebo několika procesech

Get-Process winword, explorer | Format-List *

Tento příkaz získá všechna dostupná data o procesech Winword a Explorer v počítači. K určení procesů používá parametr Name, ale vynechá volitelný název parametru. Operátor kanálu (|) předává data do rutiny Format-List, která zobrazuje všechny dostupné vlastnosti (*) objektů procesu Winword a Explorer.

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 20000000}

Tento příkaz získá všechny procesy, které mají pracovní sadu větší než 20 MB. K získání všech spuštěných procesů používá rutinu Get-Process. Operátor kanálu (|) předá objekty procesu rutině Where-Object, která vybere pouze objekt s hodnotou větší než 20 000 000 bajtů pro vlastnost WorkingSet.

WorkingSet je jednou z mnoha vlastností procesních objektů. Chcete-li zobrazit všechny vlastnosti, zadejte Get-Process | Get-Member. Ve výchozím nastavení jsou hodnoty všech vlastností množství v bajtech, i když je výchozí zobrazení uvádí v kilobajtech a megabajtech.

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

$A = Get-Process
$A | Get-Process | Format-Table -View priority

Tyto příkazy uvádějí 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 pak je uloží do proměnné $A.

Druhý příkaz předá objekt Process objekt uložený v proměnné $A do rutiny Get-Process a pak do rutiny Format-Table, která procesy formátuje pomocí zobrazení Priorita.

Zobrazení Priorita a další zobrazení jsou definovány ve formátových souborech PS1XML v domovském adresáři PowerShellu ($pshome).

Příklad 5: Přidání vlastnosti do standardního zobrazení výstupu 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

Tento příklad načte procesy z místního počítače. Načtené procesy se předávají do příkazu Format-Table, který přidá vlastnost StartTime do standardního zobrazení výstupu Get-Process.

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

Get-Process pwsh -FileVersionInfo
ProductVersion   FileVersion      FileName
--------------   -----------      --------
6.1.2            6.1.2            C:\Program Files\PowerShell\6\pwsh.exe

Tento příkaz používá parametr FileVersionInfo k získání informací o verzi souboru pwsh.exe, který je hlavním modulem procesu PowerShellu.

Pokud chcete tento příkaz spustit s procesy, které nevlastníte ve Windows Vista a novějších verzích Windows, musíte otevřít PowerShell s možností Spustit jako správce.

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

Get-Process SQL* -Module

Tento příkaz pomocí parametru Module získá moduly načtené procesem. Tento příkaz získá moduly pro procesy, které mají názvy začínající SQL.

Pokud chcete tento příkaz spustit ve Windows Vista a novějších verzích Windows s procesy, které nevlastníte, musíte spustit PowerShell s možností Spustit jako správce.

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

Get-Process pwsh -IncludeUserName
Handles      WS(K)   CPU(s)     Id UserName            ProcessName
-------      -----   ------     -- --------            -----------
    782     132080     2.08   2188 DOMAIN01\user01     pwsh

Tento příkaz ukazuje, jak najít vlastníka procesu. Ve Windows vyžaduje parametr IncludeUserName zvýšená uživatelská práva (Spustit jako správce). Výstup ukazuje, že vlastník je Domain01\user01.

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

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

Tyto příkazy ukazují, jak pomocí $PID automatické proměnné identifikovat proces hostující aktuální relaci PowerShellu. Tuto metodu můžete použít k rozlišení hostitelského procesu od jiných procesů PowerShellu, které můžete chtít zastavit nebo zavřít.

První příkaz získá všechny procesy PowerShellu v aktuální relaci.

Druhý příkaz získá proces PowerShellu, který je hostitelem aktuální relace.

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

Get-Process | Where-Object {$_.mainWindowTitle} | Format-Table Id, Name, mainWindowtitle -AutoSize

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

Vlastnost mainWindowTitle je pouze jednou z mnoha užitečných vlastností Process objektu, který Get-Process vrátí. Pokud chcete zobrazit všechny vlastnosti, předáte výsledky příkazu Get-Process do Get-Memberrutiny 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 je nutné otevřít PowerShell s Spustit jako správce možnost použít tento parametr u procesů, které nevlastníte.

Použití tohoto parametru odpovídá získání MainModule.FileVersionInfo vlastnost každého objektu procesu. Při použití tohoto parametru Get-Process vrátí FileVersionInfo objekt System.Diagnostics.FileVersionInfo, nikoli objekt procesu. Výstup příkazu tedy nelze převést na rutinu, která očekává objekt procesu, 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). Pokud chcete zadat více ID, oddělte ID čárkami. Chcete-li najít KÓD PID procesu, zadejte Get-Process.

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 hodnota UserName Process objektu je vrácena s výsledky příkazu.

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. Zadejte proměnnou, která obsahuje objekty, nebo zadejte 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é byly načteny procesy.

Ve Windows Vista a novějších verzích Windows je nutné otevřít PowerShell s Spustit jako správce možnost použít tento parametr u procesů, které nevlastníte.

Tento parametr je ekvivalentní získání Modules vlastnost každého objektu procesu. Při použití tohoto parametru vrátí tato rutina ProcessModule objekt System.Diagnostics.ProcessModule, nikoli objekt procesu. Výstup příkazu tedy nelze převést na rutinu, která očekává objekt procesu, například Stop-Process.

Pokud použijete parametry Module i FileVersionInfo ve stejném příkazu, 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é čárkami) a použít zástupné znaky. Název 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

Objekt procesu můžete do této cmdletu přesměrovat.

Výstupy

Process

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

FileVersionInfo

Pokud použijete parametr FileVersionInfo, vrátí tato rutina FileVersionInfo objektu.

ProcessModule

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

Poznámky

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

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

V počítačích se 64bitovou verzí Windows získá 64bitová verze PowerShellu pouze 64bitové moduly procesu a 32bitová verze PowerShellu získá pouze 32bitové moduly procesu.

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.

V PowerShellu můžete použít vlastnosti a metody Win32_Process objektu WMI (Windows Management Instrumentation). Informace najdete v tématu Win32_Process.

Výchozí zobrazení procesu je tabulka, která obsahuje následující sloupce. Popis všech vlastností procesních objektů naleznete v tématu Vlastnosti procesu.

  • popisovačů: Počet popisovačů, které proces otevřel.
  • NPM(K): Množství nestránkované paměti, kterou proces používá, v kilobajtech.
  • PM(K): Množství stránkovatelné paměti, kterou proces používá, v kilobajtech.
  • WS(K): Velikost pracovní sady procesu v kilobajtech. Pracovní sada se skládá ze stránek paměti, na které byl v nedávné době odkazován procesem.
  • VM(M): Množství virtuální paměti, kterou proces používá, v megabajtech. Virtuální paměť zahrnuje úložiště ve stránkovacích souborech na disku.
  • procesorů: Doba procesoru, kterou proces použil na všech procesorech v sekundách.
  • ID: ID procesu (PID) procesu.
  • ProcessName: Název procesu. Vysvětlení konceptů souvisejících s procesy najdete v glosáři v Centru nápovědy a podpory a v nápovědě pro Správce úloh.

Můžete také použít integrovaná alternativní zobrazení procesů dostupných s Format-Table, například StartTime a Prioritaa můžete navrhnout vlastní zobrazení.