Get-Process
Lekéri a helyi számítógépen vagy egy távoli számítógépen futó folyamatokat.
Syntax
Get-Process
[[-Name] <String[]>]
[-ComputerName <String[]>]
[-Module]
[-FileVersionInfo]
[<CommonParameters>]
Get-Process
[[-Name] <String[]>]
[-IncludeUserName]
[<CommonParameters>]
Get-Process
-Id <Int32[]>
[-IncludeUserName]
[<CommonParameters>]
Get-Process
-Id <Int32[]>
[-ComputerName <String[]>]
[-Module]
[-FileVersionInfo]
[<CommonParameters>]
Get-Process
-InputObject <Process[]>
[-IncludeUserName]
[<CommonParameters>]
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 is, vagy átadhat egy folyamatobjektumot a folyamaton keresztül ennek a parancsmagnak.
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 folyamat elindítását és leállítását. A parancsmag paramétereit is használhatja a Get-Process
folyamatban futó program fájlverzió-információinak lekéréséhez és a folyamat által betöltött modulok lekéréséhez.
Példák
1. példa: A helyi számítógépen található összes aktív folyamat listájának lekérése
Get-Process
Ez a parancs lekéri a helyi számítógépen futó összes aktív folyamat listáját. Az egyes oszlopok definícióját a Megjegyzések szakaszban találja.
2. példa: Az összes elérhető adat lekérése egy vagy több folyamatról
Get-Process winword, explorer | Format-List *
Ez a parancs lekéri a winword és explorer folyamatokkal kapcsolatos összes rendelkezésre álló adatot a számítógépen. A Név paramétert használja a folyamatok megadásához, de kihagyja a választható paraméternevet. A folyamatkezelő (|
) átadja az adatokat a Format-List
parancsmagnak, amely megjeleníti a Winword és az Explorer folyamatobjektumok összes elérhető tulajdonságát (*
).
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 20000000}
Ez a parancs lekéri az összes olyan folyamatot, amely 20 MB-nál nagyobb munkakészlettel rendelkezik. A parancsmagot használja az Get-Process
összes futó folyamat lekéréséhez. A folyamatkezelő (|
) átadja a folyamatobjektumokat a Where-Object
parancsmagnak, amely csak a 20 000 000 bájtnál nagyobb értékkel rendelkező objektumot választja ki a WorkingSet tulajdonsághoz.
A WorkingSet a folyamatobjektumok számos tulajdonságának egyike. Az összes tulajdonság megtekintéséhez írja be a következőt Get-Process | Get-Member
: . Alapértelmezés szerint az összes mennyiségtulajdonság értéke bájtban van, annak ellenére, hogy az alapértelmezett megjelenítés kilobájtban és megabájtban jeleníti meg őket.
4. példa: Folyamatok listázása a számítógépen prioritás alapján csoportokban
$A = Get-Process
$A | Get-Process | Format-Table -View priority
Ezek a parancsok a prioritási osztályuk alapján csoportokba sorolják a számítógépen lévő folyamatokat. Az első parancs lekéri az összes folyamatot a számítógépen, majd tárolja őket a $A
változóban.
A második parancs a változóban $A
tárolt Folyamat objektumot a Get-Process
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 PowerShell kezdőlapjának ($pshome
)PS1XML formátumú fájljaiban vannak definiálva.
5. példa: Tulajdonság hozzáadása a szabványos Get-Process kimeneti megjelenítéshez
Get-Process powershell | 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 powershell 12/5/2022 3:21:51 PM
114 61776 104588 2366127 11.45 18336 powershell 12/5/2022 7:30:53 AM
156 77924 82060 2366185 10.47 18812 powershell 12/5/2022 7:30:52 AM
85 48216 115192 2366074 1.14 24428 powershell 12/8/2022 9:14:15 AM
Ez a példa lekéri a folyamatokat a helyi számítógépről. A rendszer a lekért folyamatokat arra a Format-Table
parancsra irányítja, amely hozzáadja a StartTime tulajdonságot a szabványos Get-Process
kimeneti megjelenítéshez.
6. példa: Verzióinformációk lekérése egy folyamathoz
Get-Process powershell -FileVersionInfo
ProductVersion FileVersion FileName
-------------- ----------- --------
6.1.6713.1 6.1.6713.1 (f... C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe
Ez a parancs a FileVersionInfo paramétert használja annak a fájlnak a verzióadatainak lekéréséhez powershell.exe
, amely a PowerShell-folyamat fő modulja.
Ha olyan folyamatokkal szeretné futtatni ezt a parancsot, amelyek nem a Windows Vista és a Windows újabb verzióiban érhetők el, a PowerShellt a Futtatás rendszergazdaként lehetőséggel kell megnyitnia.
7. példa: Modulok betöltése a megadott folyamattal
Get-Process SQL* -Module
Ez a parancs a Modul paramétert használja a folyamat által betöltött modulok lekéréséhez.
Ez a parancs lekéri azoknak a folyamatoknak a moduljait, amelyek nevével SQL
kezdődnek.
Ha ezt a parancsot a Windows Vista és a Windows újabb verzióiban nem saját folyamatokkal szeretné futtatni, a PowerShellt a Futtatás rendszergazdaként lehetőséggel kell elindítania.
8. példa: Folyamat tulajdonosának megkeresése
Get-Process pwsh -IncludeUserName
Handles WS(K) CPU(s) Id UserName ProcessName
------- ----- ------ -- -------- -----------
782 132080 2.08 2188 DOMAIN01\user01 powershell
$p = Get-WmiObject Win32_Process -Filter "name='powershell.exe'"
$p.GetOwner()
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 3
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
Domain : DOMAIN01
ReturnValue : 0
User : user01
Az első parancs bemutatja, hogyan keresheti meg 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 és a harmadik parancs egy másik módszer a folyamat tulajdonosának megkeresésére.
A második parancs a PowerShell-folyamat lekérésére használja Get-WmiObject
.
A változóba $p
menti.
A harmadik parancs a GetOwner metódust használja a folyamat $p
tulajdonosának lekéréséhez. A kimenetből kiderül, hogy a tulajdonos .Domain01\user01
9. példa: Automatikus változó használata az aktuális munkamenetet futtató folyamat azonosításához
Get-Process powershell
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
308 26 52308 61780 567 3.18 5632 powershell
377 26 62676 63384 575 3.88 5888 powershell
Get-Process -Id $PID
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
396 26 56488 57236 575 3.90 5888 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 a leállítani vagy bezárni kívánt egyéb PowerShell-folyamatoktól.
Az első parancs lekéri az összes PowerShell-folyamatot az aktuális munkamenetben.
A második parancs lekéri az aktuális munkamenetet üzemeltető PowerShell-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 {$_.mainWindowTitle} | Format-Table Id, Name, mainWindowtitle -AutoSize
Ez a parancs lekéri az összes főablakcímmel rendelkező folyamatot, és megjeleníti őket egy táblában a folyamatazonosítóval és a folyamat nevével.
A mainWindowTitle tulajdonság csak egyike a visszaadott Folyamat objektum Get-Process
számos hasznos tulajdonságának. Az összes tulajdonság megtekintéséhez a parancs eredményeit Get-Process
a parancsmagba kell csöveznie Get-Member
Get-Process | Get-Member
.
Paraméterek
-ComputerName
Meghatározza azokat a számítógépeket, amelyeken ez a parancsmag aktív folyamatokat kap. Alapértelmezés szerint a helyi számítógép.
Írja be 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 írja be a számítógép nevét, egy pont (.
) vagy localhost
.
Ez a paraméter nem támaszkodik a Windows PowerShell-újraegyezé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.
Típus: | String[] |
Aliasok: | Cn |
Position: | Named |
Alapértelmezett érték: | Local computer |
Kötelező: | False |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | 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 a PowerShellt a Futtatás rendszergazdaként lehetőséggel kell megnyitnia, hogy ezt a paramétert olyan folyamatokon használja, amelyek nem a saját tulajdona.
Ugyanabban a parancsmagban nem használhatja a Get-Process
parancsmag FileVersionInfo és ComputerName paraméterét.
Ha egy távoli számítógépen lévő folyamat fájlverzióadatait szeretné lekérni, használja a Invoke-Command
parancsmagot.
A paraméter használata egyenértékű az egyes folyamatobjektumok MainModule.FileVersionInfo tulajdonságának lekérésével. Ha ezt a paramétert használja, Get-Process
a System.Diagnostics.FileVersionInfo fileVersionInfo objektumot adja vissza, nem pedig folyamatobjektumot. Így a parancs kimenetét nem lehet olyan parancsmagra csövezni, amely egy folyamatobjektumot vár, például Stop-Process
.
Típus: | SwitchParameter |
Aliasok: | FV, FVI |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Id
Egy vagy több folyamatot határoz meg folyamatazonosító (PID) alapján. Több azonosító megadásához használjon vesszőket az azonosítók elválasztásához. A folyamat PID-jének megkereséséhez írja be a következőt Get-Process
:
Típus: | Int32[] |
Aliasok: | PID |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | True |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-IncludeUserName
Azt jelzi, hogy a Folyamat objektum UserName értéke a parancs eredményeivel lesz visszaadva.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | True |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-InputObject
Egy vagy több folyamatobjektumot határoz meg. Adjon meg egy változót, amely tartalmazza az objektumokat, vagy írjon be egy parancsot vagy kifejezést, amely lekéri az objektumokat.
Típus: | Process[] |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | True |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-Module
Azt jelzi, hogy ez a parancsmag lekéri a folyamatok által betöltött modulokat.
A Windows Vista és a Windows újabb verzióiban a PowerShellt a Futtatás rendszergazdaként lehetőséggel kell megnyitnia, hogy ezt a paramétert olyan folyamatokon használja, amelyek nem a saját tulajdona.
A távoli számítógépen egy folyamat által betöltött modulok lekéréséhez használja a Invoke-Command
parancsmagot.
Ez a paraméter egyenértékű az egyes folyamatobjektumok Modulok tulajdonságának lekérésével. A paraméter használatakor ez a parancsmag egy System.Diagnostics.ProcessModule ProcessModule objektumot ad vissza, nem folyamatobjektumot. Így a parancs kimenetét nem lehet olyan parancsmagra csövezni, amely egy folyamatobjektumot vár, például Stop-Process
.
Ha ugyanabban a parancsban a Modul és a FileVersionInfo paramétert is használja, ez a parancsmag egy FileVersionInfo objektumot ad vissza, amely az összes modul fájlverziójával kapcsolatos információkat tartalmazza.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Name
Egy vagy több folyamatot határoz meg folyamatnév alapján. Több folyamatnevet is beírhat (vesszővel elválasztva), és helyettesítő karaktereket is használhat. A paraméter neve (Name
) megadása nem kötelező.
Típus: | String[] |
Aliasok: | ProcessName |
Position: | 0 |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | True |
Bevitelek
A parancsmaghoz folyamatobjektumot is csövezhet.
Kimenetek
Ez a parancsmag alapértelmezés szerint egy System.Diagnostics.Process objektumot ad vissza.
Ha a FileVersionInfo paramétert használja, ez a parancsmag egy FileVersionInfo objektumot ad vissza.
Ha a Modul paramétert használja a FileVersionInfo paraméter nélkül, ez a parancsmag egy ProcessModule objektumot ad vissza.
Jegyzetek
A Windows PowerShell a következő aliasokat Get-Process
tartalmazza:
gps
ps
A Windows 64 bites verzióját futtató számítógépeken a PowerShell 64 bites verziója csak 64 bites folyamatmodulokat kap, a PowerShell 32 bites verziója pedig csak 32 bites folyamatmodulokat kap.
Ha távoli számítógépről szeretne folyamatadatokat lekérni, használja a Invoke-Command
parancsmagot. További információ: Invoke-Command.
A Windows Management Instrumentation (WMI) Win32_Process objektum tulajdonságait és módszereit a PowerShellben használhatja. További információ: Win32_Process.
A folyamat alapértelmezett megjelenítése egy táblázat, amely a következő oszlopokat tartalmazza. A folyamatobjektumok összes tulajdonságának leírását a Folyamat tulajdonságai című témakörben talál.
- 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.
- Virtuális gép(M): A folyamat által használt virtuális memória mennyisége megabájtban. A virtuális memória magában foglalja a lemez lapozófájljainak tárhelyét.
- CPU(k): A folyamat által az összes processzoron felhasznált processzoridő másodpercben.
- Azonosító: A folyamat folyamatazonosítója (PID).
- ProcessName: A folyamat neve. A folyamatokkal kapcsolatos fogalmak magyarázatát a Súgó és támogatási központ szószedetében és a Feladatkezelő súgójában találhatja meg.
Használhatja az elérhető Format-Table
folyamatok beépített alternatív nézeteit is( például StartTime és Priority), és saját nézeteket is tervezhet.