Get-Process
Lekéri a helyi számítógépen futó folyamatokat.
Syntax
Name (Alapértelmezett)
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
A Get-Process parancsmag lekéri a folyamatokat egy helyi számítógépen.
Paraméterek nélkül ez a parancsmag minden folyamatot lekéri a helyi számítógépen. Megadhat egy adott folyamatot folyamatnév vagy folyamatazonosító (PID) alapján, vagy egy System.Diagnostics.Process objektumnak a parancsmaghoz való pipálásával.
Ez a parancsmag alapértelmezés szerint egy folyamatobjektumot ad vissza, amely részletes információkat tartalmaz a folyamatról, és támogatja azokat a metódusokat, amelyek lehetővé teszik a vezérlését. Paraméterekkel módosíthatja a parancsmag által visszaadott információk típusát.
- Modul: A folyamatba betöltött egyes modulok adatainak lekérése.
- FileVersionInfo: A folyamat fő moduljának fájlverzió-információinak lekérése.
Megjegyzés:
A modul egy végrehajtható fájl vagy egy folyamatba betöltött dinamikus hivatkozástár (DLL). Egy folyamat egy vagy több modullal rendelkezik. A fő modul a folyamat kezdeti elindításához használt modul. További információ: ProcessModule Osztály.
Példák
1. példa: A helyi számítógépen futó összes folyamat listájának lekérése
Get-Process
Ez a parancs lekéri a helyi számítógépen futó összes folyamat listáját. Az egyes megjelenítési oszlopok definícióját a NOTES szakaszban találja.
Egy folyamatobjektum összes tulajdonságának megtekintéséhez használja a következőtGet-Process | Get-Member: . A PowerShell alapértelmezés szerint bizonyos tulajdonságértékeket jelenít meg olyan egységek használatával, mint a kilobájt (K) és a megabájt (M). A tagelérési operátorral (.) elért tényleges értékek bájtban vannak.
2. példa: Egy vagy több folyamat részletes adatainak megjelenítése
Get-Process winword, explorer | Format-List *
Ez a folyamat részletes információkat jelenít meg a számítógépen található winword folyamatokról és explorer folyamatokról. A Name paramétert használja a folyamatok megadásához, de kihagyja a választható paraméternevet. A folyamatkezelő (|) csövek feldolgozzák a parancsmag objektumait, amelyek megjelenítik az Format-List összes elérhető tulajdonságot (*) és azok értékeit az egyes objektumokhoz.
A folyamatokat a folyamatazonosítók alapján is azonosíthatja. Például Get-Process -Id 664, 2060.
3. példa: A megadott méretnél nagyobb munkakészlettel rendelkező összes folyamat lekérése
Get-Process | Where-Object { $_.WorkingSet -gt 20971520 }
Get-Process | Where-Object WorkingSet -GT 20MB
A Get-Process parancsmag visszaadja a futó folyamatokat. A kimenet a Where-Object parancsmagra van állítva, amely a 20 971 520 bájtnál nagyobb WorkingSet-értékkel rendelkező objektumokat választja ki.
Az első példában Where-Object egy szkriptblokk használatával hasonlítja össze az egyes folyamatobjektumok WorkingSet tulajdonságát. A második példában a Where-Object parancsmag az egyszerűsített szintaxist használja a WorkingSet tulajdonság összehasonlításához. Ebben az esetben egy paraméter, -GT nem összehasonlító operátor. A második példa a számkonstans utótagot is használja tömör alternatívaként 20971520. A PowerShellben MB egy mebibyte (MiB) szorzót jelöl.
20MB értéke 20 971 520 bájt.
4. példa: Folyamatok megjelenítése a számítógépen prioritás alapján csoportokban
$processes = Get-Process
$processes | Sort-Object { $_.PriorityClass } | Format-Table -View Priority
Ezek a parancsok a prioritási osztályuk alapján csoportokban jelenítik meg a számítógépen a folyamatokat. Az első parancs lekéri az összes folyamatot a számítógépen, és tárolja őket a $processes változóban.
A második parancs a változóban $processes tárolt Folyamat objektumokat a Sort-Object parancsmaghoz, majd a Format-Table parancsmaghoz irányítja, amely a Prioritás nézet használatával formázza a folyamatokat.
5. példa: Tulajdonság hozzáadása az alapértelmezett "Get-Process" kimeneti megjelenítéshez
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
Ez a példa lekéri a folyamatokat a helyi számítógépről, és minden folyamatobjektumot a Format-Table parancsmagba csövez.
Format-Table egy folyamatobjektum alapértelmezett kimeneti megjelenítését hozza létre a tulajdonságnevek és a számított tulajdonságok keverékével. A megjelenítés tartalmaz egy további StartTime tulajdonságot, amely nem szerepel az alapértelmezett megjelenítésben.
6. példa: Verzióinformációk lekérése egy folyamathoz
Get-Process -Name pwsh -FileVersionInfo
ProductVersion FileVersion FileName
-------------- ----------- --------
7.5.0 SHA: 99da… 7.5.0.500 C:\Program Files\PowerShell\7\pwsh.exe
Ez a parancs a FileVersionInfo paramétert használja a folyamat fő moduljának fájlverzió-információinak lekéréséhez pwsh . A fő modul a folyamat elindításához használt fájl, amely ebben az esetben a pwsh.exe.
Ha ezt a parancsot olyan folyamatokkal szeretné használni, amelyek nem a Windows Vista és a Windows újabb verzióiban érhetők el, emelt szintű felhasználói jogosultságokkal kell futtatnia a PowerShellt (futtatás rendszergazdaként).
7. példa: Modulok betöltése a megadott folyamattal
Get-Process -Name SQL* -Module
Ez a parancs a Modul paraméterrel tölti be az összes folyamat által betöltött modulokat a következő névvel kezdődően SQL: .
Ha ezt a parancsot olyan folyamatokkal szeretné használni, amelyek nem a Windows Vista és a Windows újabb verzióiban érhetők el, emelt szintű felhasználói jogosultságokkal kell futtatnia a PowerShellt (futtatás rendszergazdaként).
8. példa: Folyamat tulajdonosának megkeresése
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
Az első parancs bemutatja, hogyan szerezheti be a folyamat tulajdonosát. A kimenetből kiderül, hogy a tulajdonos DOMAIN01\user01.
A második folyamat egy másik módszert mutat be egy folyamat tulajdonosának lekérésére Get-CimInstance az and Invoke-CimMethod. A szűrővel rendelkező Win32_Process osztály lekéri a folyamatokat pwsh , a meghívott GetOwner() metódus pedig a folyamat tartományára és felhasználójára vonatkozó információkat adja vissza. Ez a módszer csak Windows rendszeren érhető el, és nem igényel emelt szintű felhasználói jogosultságot.
9. példa: Automatikus változó használata az aktuális munkamenetet futtató folyamat azonosításához
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
Ezek a parancsok bemutatják, hogyan használható az $PID automatikus változó az aktuális PowerShell-munkamenetet futtató folyamat azonosítására. Ezzel a módszerrel megkülönböztetheti a gazdagépfolyamatot más pwsh , esetleg szabályozni kívánt folyamatoktól.
Az első parancs minden pwsh folyamatot futtat. A második parancs lekéri az pwsh aktuális munkamenetet üzemeltető folyamatot.
10. példa: Az összes főablakcímmel rendelkező folyamat lekérése és megjelenítése egy táblázatban
Get-Process |
Where-Object -Property MainWindowTitle |
Format-Table -Property Id, Name, MainWindowTitle -AutoSize
Ez a folyamat lekéri az összes folyamatot, amelynek főablakcíme van, és megjeleníti azokat egy táblában a folyamatazonosítóval és a névvel.
A MainWindowTitle a Diagnostics.Process objektumtípus számos hasznos tulajdonságának egyike, amelyet Get-Process visszaad. Az összes tulajdonság megtekintéséhez használja a következőt Get-Process | Get-Member: .
Paraméterek
-FileVersionInfo
Azt jelzi, hogy ez a parancsmag lekéri a folyamatban futó program fájlverziójának adatait.
A Windows Vista és a Windows újabb verzióiban emelt szintű felhasználói jogosultságokkal (futtatás rendszergazdaként) kell futtatnia a PowerShellt, hogy ezt a paramétert olyan folyamatokon használja, amelyek nem a tulajdonában lévők.
Ez a paraméter ugyanaz, mint az egyes folyamatobjektumok MainModule.FileVersionInfo tulajdonságának elérése. Ha ezt a paramétert használja, Get-Process egy FileVersionInfo objektumot ad vissza, nem folyamatobjektumot . Ezzel a paraméterrel létrehozott kimenet nem csövezhető olyan parancsmagra, amely folyamatobjektumot vár, például Stop-Process.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | FV, FVI |
Paraméterkészletek
Name
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
Id
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
InputObject
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Id
Egy vagy több folyamatot határoz meg folyamatazonosító (PID) alapján. Több azonosítót is megadhat vesszővel elválasztva. A folyamat PID-jének lekéréséhez használja Get-Processa következőt: . Az aktuális PowerShell-munkamenet PID-jének lekéréséhez használja a következőt $PID: .
Paramétertulajdonságok
| Típus: | Int32[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | folyamatazonosító |
Paraméterkészletek
Id
| Position: | Named |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
IdWithUserName
| Position: | Named |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
-IncludeUserName
Azt jelzi, hogy ez a parancs egy UserName tulajdonságot ad hozzá minden visszaadott folyamatobjektumhoz .
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
NameWithUserName
| Position: | Named |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
IdWithUserName
| Position: | Named |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
InputObjectWithUserName
| Position: | Named |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-InputObject
Egy vagy több folyamatobjektumot határoz meg. Használjon olyan változót, amely tartalmazza az objektumokat, vagy egy parancsot vagy kifejezést, amely lekéri az objektumokat.
Paramétertulajdonságok
| Típus: | Process[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
InputObject
| Position: | Named |
| Kötelező: | True |
| Folyamatból származó érték: | True |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
InputObjectWithUserName
| Position: | Named |
| Kötelező: | True |
| Folyamatból származó érték: | True |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Module
Azt jelzi, hogy ez a parancsmag lekéri a folyamat által betöltött modulokat.
A Windows Vista és a Windows újabb verzióiban emelt szintű felhasználói jogosultságokkal (futtatás rendszergazdaként) kell futtatnia a PowerShellt, hogy ezt a paramétert olyan folyamatokon használja, amelyek nem a tulajdonában lévők.
Ez a paraméter ugyanaz, mint az egyes folyamatobjektumok Modulok tulajdonságának elérése.
Ha ezt a paramétert használja, Get-Process egy ProcessModule objektumot ad vissza, nem pedig folyamatobjektumot. Ezzel a paraméterrel létrehozott kimenet nem csövezhető olyan parancsmagra, amely folyamatobjektumot vár, például Stop-Process.
A Modul és a FileVersionInfo paraméterek együttes használatakor ez a parancsmag egy FileVersionInfo objektumot ad vissza az összes modul fájlverziójával kapcsolatos információkkal.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
Name
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
Id
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
InputObject
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Name
Egy vagy több folyamatot határoz meg folyamatnév alapján. Több folyamatnevet is megadhat vesszővel elválasztva, és helyettesítő karaktereket is használhat.
-Name A paraméter használata nem kötelező.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | True |
| DontShow: | False |
| Aliasok: | ProcessName |
Paraméterkészletek
Name
| Position: | 0 |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
NameWithUserName
| Position: | 0 |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
CommonParameters
Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.
Bevitelek
Process
Ehhez a parancsmaghoz folyamatobjektumokat helyezhet el.
Kimenetek
Process
Ez a parancsmag alapértelmezés szerint egy System.Diagnostics.Process objektumot ad vissza.
FileVersionInfo
Ha a FileVersionInfo paramétert használja, ez a parancsmag egy System.Diagnostics.FileVersionInfo objektumot ad vissza.
ProcessModule
Ha a Modul paramétert használja a FileVersionInfo paraméter nélkül, ez a parancsmag egy System.Diagnostics.ProcessModule objektumot ad vissza.
Jegyzetek
A PowerShell a következő aliasokat tartalmazza Get-Process:
- Minden platform:
gps
- Windows:
ps
A 64 bites Windows rendszert futtató számítógépeken a PowerShell 64 bites verziója megkapja a fő modult és a 64 bites folyamatmodulokat. A PowerShell 32 bites verziója csak 32 bites folyamatmodulokat kap.
Figyelmeztetés
Ha 64 bites folyamatot szeretne Get-Process lekérni a PowerShell 32 bites verziójában, az olyan tulajdonságok, mint Path a visszaadott Folyamat objektum és MainModule a visszaadott folyamat objektum $null. A PowerShell 64 bites verzióját vagy a Win32_Process osztályt kell használnia.
Ha távoli számítógépről szeretne folyamatadatokat lekérni, használja a Invoke-Command parancsmagot. További információért lásd Invoke-Command.
Windows rendszeren a Windows Management Instrumentation (WMI) Win32_Process osztályt használhatja a PowerShellben alternatívaként Get-Process. További információkért lásd:
A Folyamat objektum alapértelmezett megjelenítése egy táblázatnézet, amely az alábbi oszlopokat tartalmazza.
- NPM(K): A folyamat által használt nem lapozott memória mennyisége kilobájtban.
- PM(M): A folyamat által használt lapozható memória mennyisége megabájtban.
- WS(M): A folyamat munkakészletének mérete megabájtban. A munkakészlet a folyamat által nemrég hivatkozott memórialapokból áll.
- processzor(ok): A folyamat által az összes processzoron felhasznált processzoridő másodpercben.
- azonosító: A folyamat folyamatazonosítója (PID).
- SI: A folyamat munkamenet-azonosítója.
- ProcessName: A folyamat neve.
Az olyan folyamatobjektumok beépített alternatív nézeteit Format-Tablehasználhatja, mint például a StartTime és a Priority. Saját nézeteket is tervezhet.
A Folyamatobjektum összes elérhető tagjának leírását a Folyamat tulajdonságai és a Folyamatmetódusok című témakörben talál.