Get-Process
Získá procesy, které jsou spuštěny v místním počítači nebo vzdáleném počítači.
Syntax
Name (Výchozí)
Get-Process
[[-Name] <String[]>]
[-ComputerName <String[]>]
[-Module]
[-FileVersionInfo]
[<CommonParameters>]
NameWithUserName
Get-Process
[[-Name] <String[]>]
[-IncludeUserName]
[<CommonParameters>]
IdWithUserName
Get-Process
-Id <Int32[]>
[-IncludeUserName]
[<CommonParameters>]
Id
Get-Process
-Id <Int32[]>
[-ComputerName <String[]>]
[-Module]
[-FileVersionInfo]
[<CommonParameters>]
InputObjectWithUserName
Get-Process
-InputObject <Process[]>
[-IncludeUserName]
[<CommonParameters>]
InputObject
Get-Process
-InputObject <Process[]>
[-ComputerName <String[]>]
[-Module]
[-FileVersionInfo]
[<CommonParameters>]
Description
Rutina Get-Process získá procesy na místním nebo vzdálené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 .
Zobrazení Priorita a další zobrazení jsou definovány ve formátových .ps1xml souborech v domovském adresáři PowerShellu ($PSHOME).
Příklad 5: Přidání vlastnosti do výchozího zobrazení výstupu Get-Process
Get-Process -Name powershell | Format-Table -Property @(
'Handles'
@{ Name = 'NPM(K)'; Expression = { [int] ($_.NPM / 1KB) } }
@{ Name = 'PM(K)'; Expression = { [int] ($_.PM / 1KB) } }
@{ Name = 'WS(K)'; Expression = { [int] ($_.WS / 1KB) } }
@{ Name = 'CPU(s)'; Expression = { if ($_.CPU) { $_.CPU.ToString('N') } } }
'Id'
@{ Name = 'SI'; Expression = 'SessionId' }
'ProcessName'
'StartTime'
) -AutoSize
Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName StartTime
------- ------ ----- ----- ------ -- -- ----------- ---------
655 34 69424 83424 2.20 4240 1 powershell 4/14/2025 10:40:10 AM
572 36 68768 57260 7.41 4968 1 powershell 4/13/2025 3:33:50 PM
405 26 38144 30340 1.80 8776 1 powershell 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 powershell -FileVersionInfo
ProductVersion FileVersion FileName
-------------- ----------- --------
10.0.19041.320 10.0.19041.32... C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Tento příkaz používá parametr FileVersionInfo k získání informací o verzi souboru pro hlavní modul powershell procesu. Hlavním modulem je soubor použitý ke spuštění procesu, což je powershell.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 powershell -IncludeUserName
Handles WS(K) CPU(s) Id UserName ProcessName
------- ----- ------ -- -------- -----------
782 132080 2.08 2188 DOMAIN01\user01 powershell
Get-CimInstance -ClassName Win32_Process -Filter "name='powershell.exe'" |
Invoke-CimMethod -MethodName GetOwner
Domain ReturnValue User PSComputerName
------ ----------- ---- --------------
DOMAIN01 0 user01
První příkaz ukazuje, jak získat vlastníka procesu. Parametr IncludeUserName vyžaduje zvýšená uživatelská práva (Spustit jako správce). 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 powershell procesy a vyvolaná GetOwner() metoda vrátí informace o doméně a uživateli procesu. Tato metoda 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 powershell
Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
------- ------ ----- ----- ------ -- -- -----------
561 44 47564 40740 6.48 2604 1 powershell
642 40 72040 24372 23.53 3576 1 powershel
Get-Process -Id $PID
Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
------- ------ ----- ----- ------ -- -- -----------
647 40 72464 30716 23.67 3576 1 powershell
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 powershell procesů, které můžete chtít řídit.
První příkaz načte všechny powershell spuštěné procesy. Druhý příkaz získá powershell 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
-ComputerName
Určuje počítače, pro které tato rutina spouští procesy. Výchozí hodnota je místní počítač.
Zadejte název NetBIOS, IP adresu nebo plně kvalifikovaný název domény (FQDN) jednoho nebo více počítačů. Chcete-li zadat místní počítač, použijte název počítače, tečku (.) nebo localhost.
Tento parametr nespoléhá na vzdálené komunikace Windows PowerShellu. Parametr ComputerName této rutiny můžete použít i v případě, že váš počítač není nakonfigurovaný tak, aby spouštět vzdálené příkazy.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | Local computer |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | Kn |
Sady parametrů
Name
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| 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: | True |
| 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: | True |
| Hodnota ze zbývajících argumentů: | False |
-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.
Parametry FileVersionInfo a ComputerName nemůžete používat společně.
Informace o verzi souboru pro proces na vzdáleném počítači získáte pomocí rutiny Invoke-Command.
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ů
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 |
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 |
-IncludeUserName
Označuje, že tento příkaz přidá vlastnost UserName do každého vráceného objektu Process .
Abyste mohli tento parametr použít, musíte spustit PowerShell se zvýšenými uživatelskými právy (Spustit jako správce).
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ů
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 |
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 |
-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.
Pokud chcete získat moduly načtené procesem na vzdáleném počítači, použijte rutinu Invoke-Command .
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
Windows PowerShell obsahuje následující aliasy pro Get-Process:
gpsps
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.
Jako alternativu k Get-Processtéto třídě můžete v PowerShellu použít třídu WMI (Windows Management Instrumentation) Win32_Process . Další informace najdete tady:
Výchozí zobrazení objektu Process je zobrazení tabulky, které obsahuje následující sloupce.
- 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.
- 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.