Megosztás a következőn keresztül:


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:

  • gps
  • 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.

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.