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


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.