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 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 Get-Process parancsmag paramétereit is használhatja a 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 Name paramétert használja a folyamatok megadásához, de kihagyja a választható paraméternevet.
A folyamatkezelő | továbbítja az adatokat a Format-List parancsmagnak, amely megjeleníti a Winword és az Explorer folyamatobjektumainak ö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 Get-Process parancsmagot használja az összes futó folyamat lekéréséhez.
A folyamatkezelő | átadja a folyamatobjektumokat a Where-Object parancsmagnak, amely csak a WorkingSet tulajdonsághoz 20 000 000 bájtnál nagyobb értékkel rendelkező objektumot választ ki.
WorkingSet a folyamatobjektumok számos tulajdonságának egyike.
Az összes tulajdonság megtekintéséhez írja be a 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 a $A változóban tárolja őket.
A második parancs a változóban tárolt $A objektumot a Get-Process parancsmagra, majd a Format-Table parancsmagra 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 PS1XML formátumú fájljaiban ($pshome) vannak definiálva.
5. példa: Tulajdonság hozzáadása a szabványos Get-Process kimeneti megjelenítéshez
Get-Process powershell -ComputerName S1, localhost | 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, MachineName, ProcessName -AutoSize
NPM(K) PM(K) WS(K) VM(M) CPU(s) Id MachineName ProcessName
------ ----- ----- ----- ------ -- ----------- -----------
6 23500 31340 142 1.70 1980 S1 powershell
6 23500 31348 142 2.75 4016 S1 powershell
27 54572 54520 576 5.52 4428 localhost powershell
Ez a példa lekéri a folyamatokat a helyi számítógépről és egy távoli számítógépről (S1).
A rendszer a lekért folyamatokat a Format-Table parancsra irányítja, amely hozzáadja a MachineName 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 a PowerShell-folyamat fő moduljának számító powershell.exe fájl verzióadatainak lekéréséhez.
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 az SQL-vel kezdődő neveket tartalmazó folyamatok moduljait.
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
PS C:\> Get-Process powershell -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 Tartomány01\user01.
A második és a harmadik parancs egy másik módszer a folyamat tulajdonosának megkeresésére.
A második parancs Get-WmiObject használ a PowerShell-folyamat lekéréséhez.
A $p változóba menti.
A harmadik parancs a GetOwner metódust használja a folyamat tulajdonosának lekéréséhez $p. A kimenetből kiderül, hogy a tulajdonos Tartomány01\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 Folyamat objektumnak, amelyet Get-Process visszaad.
Az összes tulajdonság megtekintéséhez egy Get-Process parancs eredményét a Get-Member parancsmagra Get-Process | Get-Member.
Paraméterek
-ComputerName
Meghatározza azokat a számítógépeket, amelyeken ez a parancsmag aktív folyamatokat kap. Az alapértelmezett beállítás 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, a pont (.) vagy a localhost nevet.
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.
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 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 parancsban nem használhatja a FileVersionInfo és paraméterét.
Ha távoli számítógépen szeretné lekérni a folyamat fájlverziójának adatait, 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, 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ó 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 Get-Process.
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 a Folyamat objektum UserName értéke a parancs eredményeivel lesz visszaadva.
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. Adjon meg egy változót, amely tartalmazza az objektumokat, vagy írjon be 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 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 ProcessModule objektumot ad vissza, System.Diagnostics.ProcessModule, nem folyamatobjektumot.
Így a parancs kimenetét nem lehet olyan parancsmagra csövezni, amely folyamatobjektumot vár, például Stop-Process.
Ha a Modul és FileVersionInfo paramétereket is ugyanabban a parancsban használja, 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 beírhat (vesszővel elválasztva), és helyettesítő karaktereket is használhat. A paraméter neve ("Név") megadása 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
A parancsmaghoz folyamatobjektumot is csövezhet.
Kimenetek
System.Diagnostics.Process, System.Diagnostics.FileVersionInfo, System.Diagnostics.ProcessModule
Ez a parancsmag alapértelmezés szerint egy System.Diagnostics.Process objektumot ad vissza. Ha a FileVersionInfo paramétert használja, az egy System.Diagnostics.FileVersionInfo objektumot ad vissza. Ha a Module paramétert használja, a FileVersionInfo paraméter nélkül egy System.Diagnostics.ProcessModule objektumot ad vissza.
Jegyzetek
- Erre a parancsmagra a beépített aliasok, a ps és a gps alapján is hivatkozhat. További információ: about_Aliases.
- 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.
- A Windows Management Instrumentation (WMI) Win32_Process objektum tulajdonságait és módszereit a PowerShellben használhatja. További információ:
Get-WmiObjectés a WMI SDK. - 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 az MSDN-kódtár
Folyamattulajdonságok 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.
- VM(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.
- A
Format-Tableelérhető folyamatok beépített alternatív nézeteit is használhatja, például StartTime és Prioritási, és saját nézeteket is tervezhet.