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 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, egy FileVersionInfo objektumot ad vissza a System.Diagnostics.FileVersionInfo, nem folyamatobjektumot. Így a parancs kimenetét nem lehet olyan parancsmagra csövezni, 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ó 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.