Get-Process
Lekéri a helyi számítógépen vagy egy távoli számítógépen futó folyamatokat.
Syntax
Name (Alapértelmezett)
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
A Get-Process parancsmag lekéri a folyamatokat egy helyi vagy távoli 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.
A Prioritás nézet és más nézetek a .ps1xml PowerShell kezdőlapjának ($PSHOME) formátumfájljaiban vannak definiálva.
5. példa: Tulajdonság hozzáadása az alapértelmezett "Get-Process" kimeneti megjelenítéshez
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
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 powershell -FileVersionInfo
ProductVersion FileVersion FileName
-------------- ----------- --------
10.0.19041.320 10.0.19041.32... C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Ez a parancs a FileVersionInfo paramétert használja a folyamat fő moduljának fájlverzió-információinak lekéréséhez powershell . A fő modul a folyamat elindításához használt fájl, amely ebben az esetben a powershell.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 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
Az első parancs bemutatja, hogyan szerezheti be a folyamat tulajdonosát. Az IncludeUserName paraméter emelt szintű felhasználói jogosultságot igényel (Futtatás rendszergazdaként). 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 powershell , 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 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 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
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 powershell , esetleg szabályozni kívánt folyamatoktól.
Az első parancs minden powershell folyamatot futtat. A második parancs lekéri az powershell 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
-ComputerName
Meghatározza azokat a számítógépeket, amelyeken ez a parancsmag futtatja a folyamatokat. Az alapértelmezett beállítás a helyi számítógép.
Adja meg egy vagy több számítógép NetBIOS-nevét, IP-címét vagy teljes tartománynevét (FQDN). A helyi számítógép megadásához használja a számítógép nevét, egy pont (.) vagy localhost.
Ez a paraméter nem támaszkodik a Windows PowerShell-újraküldésre. A parancsmag ComputerName paraméterét akkor is használhatja, ha a számítógép nincs távoli parancsok futtatására konfigurálva.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | Local computer |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | Cn |
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: | True |
| 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: | True |
| 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: | True |
| Fennmaradó argumentumokból származó érték: | False |
-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.
A FileVersionInfo és a ComputerName paraméterek nem használhatók együtt.
Ha távoli számítógépen szeretné lekérni a folyamat fájlverziójának adatait, használja a Invoke-Command parancsmagot.
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
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 |
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 |
-IncludeUserName
Azt jelzi, hogy ez a parancs egy UserName tulajdonságot ad hozzá minden visszaadott folyamatobjektumhoz .
A paraméter használatához rendszergazdai jogosultsággal rendelkező PowerShellt kell futtatnia.
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
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 |
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 |
-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.
Ha a modulokat egy folyamat tölti be egy távoli számítógépen, használja a Invoke-Command parancsmagot.
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 Windows PowerShell a Get-Processkövetkező aliasait tartalmazza:
gpsps
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.
A Windows Management Instrumentation (WMI) Win32_Process osztályt a PowerShellben alternatívaként használhatja 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.
- leírók: A folyamat által megnyitott leírók száma.
- NPM(K): A folyamat által használt nem lapozott memória mennyisége kilobájtban.
- PM(K): A folyamat által használt lapozható memória mennyisége kilobájtban.
- WS(K): A folyamat munkakészletének mérete kilobá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.