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.