Get-Process
Hiermee haalt u de processen op die worden uitgevoerd op de lokale computer.
Syntax
Get-Process
[[-Name] <String[]>]
[-Module]
[-FileVersionInfo]
[<CommonParameters>]
Get-Process
[[-Name] <String[]>]
-IncludeUserName
[<CommonParameters>]
Get-Process
-Id <Int32[]>
[-Module]
[-FileVersionInfo]
[<CommonParameters>]
Get-Process
-Id <Int32[]>
-IncludeUserName
[<CommonParameters>]
Get-Process
-InputObject <Process[]>
[-Module]
[-FileVersionInfo]
[<CommonParameters>]
Get-Process
-InputObject <Process[]>
-IncludeUserName
[<CommonParameters>]
Description
De Get-Process
cmdlet haalt de processen op een lokale of externe computer op.
Zonder parameters worden met deze cmdlet alle processen op de lokale computer opgevraagd. U kunt ook een bepaald proces opgeven op basis van procesnaam of proces-id (PID) of een procesobject via de pijplijn doorgeven aan deze cmdlet.
Standaard retourneert deze cmdlet een procesobject dat gedetailleerde informatie over het proces bevat en methoden ondersteunt waarmee u het proces kunt starten en stoppen. U kunt ook de parameters van de cmdlet gebruiken om informatie over de Get-Process
bestandsversie op te halen voor het programma dat in het proces wordt uitgevoerd en om de modules op te halen die door het proces zijn geladen.
Voorbeelden
Voorbeeld 1: Een lijst met alle actieve processen op de lokale computer ophalen
Get-Process
Met deze opdracht haalt u een lijst op van alle actieve processen die op de lokale computer worden uitgevoerd. Zie de sectie Notities voor een definitie van elke kolom.
Voorbeeld 2: Alle beschikbare gegevens over een of meer processen ophalen
Get-Process winword, explorer | Format-List *
Met deze opdracht worden alle beschikbare gegevens over de Winword- en Explorer-processen op de computer opgehaald. De parameter Name wordt gebruikt om de processen op te geven, maar de optionele parameternaam wordt weggelaten. De pijplijnoperator (|
) geeft de gegevens door aan de Format-List
cmdlet, die alle beschikbare eigenschappen (*
) van de Winword- en Explorer-procesobjecten weergeeft.
U kunt de processen ook identificeren op basis van hun proces-id's. Bijvoorbeeld Get-Process -Id 664, 2060
.
Voorbeeld 3: Alle processen ophalen met een werkset die groter is dan een opgegeven grootte
Get-Process | Where-Object {$_.WorkingSet -gt 20000000}
Met deze opdracht worden alle processen met een werkset van meer dan 20 MB ophaalt. De cmdlet wordt gebruikt Get-Process
om alle actieve processen op te halen. De pijplijnoperator (|
) geeft de procesobjecten door aan de Where-Object
cmdlet, die alleen het object selecteert met een waarde groter dan 20.000.000 bytes voor de eigenschap WorkingSet .
WorkingSet is een van de vele eigenschappen van procesobjecten. Als u alle eigenschappen wilt zien, typt u Get-Process | Get-Member
. Standaard zijn de waarden van alle hoeveelheidseigenschappen in bytes, ook al worden ze in de standaardweergave weergegeven in kilobytes en megabytes.
Voorbeeld 4: Processen op de computer weergeven in groepen op basis van prioriteit
$A = Get-Process
$A | Get-Process | Format-Table -View priority
Met deze opdrachten worden de processen op de computer in groepen weergegeven op basis van hun prioriteitsklasse. Met de eerste opdracht worden alle processen op de computer opgeslagen en vervolgens opgeslagen in de $A
variabele.
Met de tweede opdracht wordt het object Process dat in de $A
variabele is opgeslagen, doorverdeeld naar Format-Table
de Get-Process
cmdlet, waarmee de processen worden opgemaakt met behulp van de weergave Prioriteit.
De weergave Prioriteit en andere weergaven worden gedefinieerd in de bestanden in de PS1XML-indeling in de PowerShell-basismap ($pshome
).
Voorbeeld 5: Een eigenschap toevoegen aan de standaarduitvoerweergave van Get-Process
Get-Process pwsh | 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 . pwsh
6 23500 31348 142 2.75 4016 . pwsh
27 54572 54520 576 5.52 4428 . pwsh
In dit voorbeeld worden processen opgehaald van de lokale computer en een externe computer (S1). De opgehaalde processen worden doorgesluisd naar de Format-Table
opdracht waarmee de eigenschap MachineName wordt toegevoegd aan de standaarduitvoerweergave Get-Process
.
Voorbeeld 6: versiegegevens ophalen voor een proces
Get-Process pwsh -FileVersionInfo
ProductVersion FileVersion FileName
-------------- ----------- --------
6.1.2 6.1.2 C:\Program Files\PowerShell\6\pwsh.exe
Met deze opdracht wordt de parameter FileVersionInfo gebruikt om de versie-informatie op te halen voor het pwsh.exe
bestand dat de hoofdmodule voor het PowerShell-proces is.
Als u deze opdracht wilt uitvoeren met processen waarvan u geen eigenaar bent in Windows Vista en latere versies van Windows, moet u PowerShell openen met de optie Als administrator uitvoeren .
Voorbeeld 7: Modules ophalen die zijn geladen met het opgegeven proces
Get-Process SQL* -Module
Met deze opdracht wordt de parameter Module gebruikt om de modules op te halen die door het proces zijn geladen.
Met deze opdracht haalt u de modules op voor de processen met namen die beginnen met SQL
.
Als u deze opdracht wilt uitvoeren op Windows Vista en latere versies van Windows met processen die u niet bezit, moet u PowerShell starten met de optie Als administrator uitvoeren .
Voorbeeld 8: De eigenaar van een proces zoeken
Get-Process pwsh -IncludeUserName
Handles WS(K) CPU(s) Id UserName ProcessName
------- ----- ------ -- -------- -----------
782 132080 2.08 2188 DOMAIN01\user01 pwsh
Deze opdracht laat zien hoe u de eigenaar van een proces kunt vinden.
In Windows vereist de parameter IncludeUserName verhoogde gebruikersrechten (uitvoeren als administrator).
De uitvoer laat zien dat de eigenaar is Domain01\user01
.
Voorbeeld 9: Een automatische variabele gebruiken om het proces te identificeren dat als host fungeert voor de huidige sessie
Get-Process 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
Deze opdrachten laten zien hoe u de $PID
automatische variabele gebruikt om het proces te identificeren dat als host fungeert voor de huidige PowerShell-sessie. U kunt deze methode gebruiken om het hostproces te onderscheiden van andere PowerShell-processen die u mogelijk wilt stoppen of sluiten.
Met de eerste opdracht worden alle PowerShell-processen in de huidige sessie opgeslagen.
Met de tweede opdracht wordt het PowerShell-proces ophaalt dat als host fungeert voor de huidige sessie.
Voorbeeld 10: Alle processen ophalen die een titel van het hoofdvenster hebben en deze weergeven in een tabel
Get-Process | Where-Object {$_.mainWindowTitle} | Format-Table Id, Name, mainWindowtitle -AutoSize
Met deze opdracht worden alle processen opgehaald die een titel van het hoofdvenster hebben en worden ze weergegeven in een tabel met de proces-id en de procesnaam.
De eigenschap mainWindowTitle is slechts een van de vele nuttige eigenschappen van het object Process dat Get-Process
retourneert. Als u alle eigenschappen wilt weergeven, sluist u de resultaten van een Get-Process
opdracht door naar de Get-Member
cmdlet Get-Process | Get-Member
.
Parameters
-FileVersionInfo
Geeft aan dat deze cmdlet de bestandsversiegegevens ophaalt voor het programma dat in het proces wordt uitgevoerd.
In Windows Vista en latere versies van Windows moet u PowerShell openen met de optie Als administrator uitvoeren om deze parameter te gebruiken voor processen waarvan u niet de eigenaar bent.
Gebruik de Invoke-Command
cmdlet om informatie over de bestandsversie op te halen voor een proces op een externe computer.
Het gebruik van deze parameter is gelijk aan het ophalen van de eigenschap MainModule.FileVersionInfo van elk procesobject. Wanneer u deze parameter gebruikt, Get-Process
retourneert een FileVersionInfo-objectSystem.Diagnostics.FileVersionInfo, geen procesobject. U kunt de uitvoer van de opdracht dus niet doorsluizen naar een cmdlet die een procesobject verwacht, zoals Stop-Process
.
Type: | SwitchParameter |
Aliases: | FV, FVI |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Id
Hiermee geeft u een of meer processen op proces-id (PID). Als u meerdere id's wilt opgeven, gebruikt u komma's om de id's te scheiden. Als u de PID van een proces wilt vinden, typt Get-Process
u .
Type: | Int32[] |
Aliases: | PID |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-IncludeUserName
Geeft aan dat de waarde UserName van het object Process wordt geretourneerd met de resultaten van de opdracht.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Hiermee geeft u een of meer procesobjecten op. Voer een variabele in die de objecten bevat of typ een opdracht of expressie waarmee de objecten worden opgehaald.
Type: | Process[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Module
Geeft aan dat deze cmdlet de modules ophaalt die door de processen zijn geladen.
In Windows Vista en latere versies van Windows moet u PowerShell openen met de optie Als administrator uitvoeren om deze parameter te gebruiken voor processen waarvan u niet de eigenaar bent.
Gebruik Invoke-Command
de cmdlet om de modules op te halen die door een proces zijn geladen op een externe computer.
Deze parameter is gelijk aan het ophalen van de eigenschap Modules van elk procesobject. Wanneer u deze parameter gebruikt, retourneert deze cmdlet een ProcessModule-objectSystem.Diagnostics.ProcessModule, geen procesobject. U kunt de uitvoer van de opdracht dus niet doorsluizen naar een cmdlet die een procesobject verwacht, zoals Stop-Process
.
Wanneer u de parameters Module en FileVersionInfo in dezelfde opdracht gebruikt, retourneert deze cmdlet een FileVersionInfo-object met informatie over de bestandsversie van alle modules.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Hiermee geeft u een of meer processen op procesnaam. U kunt meerdere procesnamen typen (gescheiden door komma's) en jokertekens gebruiken. De parameternaam (Name
) is optioneel.
Type: | String[] |
Aliases: | ProcessName |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | True |
Invoerwaarden
U kunt een procesobject doorspezen naar deze cmdlet.
Uitvoerwaarden
System.Diagnostics.Process, System.Diagnostics.FileVersionInfo, System.Diagnostics.ProcessModule
Deze cmdlet retourneert standaard een System.Diagnostics.Process-object . Als u de parameter FileVersionInfo gebruikt, wordt het object System.Diagnostics.FileVersionInfo geretourneerd. Als u de parameter Module gebruikt, zonder de parameter FileVersionInfo , wordt een System.Diagnostics.ProcessModule-object geretourneerd.
Notities
- U kunt deze cmdlet ook raadplegen door de ingebouwde aliassen
ps
engps
. Zie about_Aliases voor meer informatie. - Op computers met een 64-bits versie van Windows krijgt de 64-bits versie van PowerShell alleen 64-bits procesmodules en de 32-bits versie van PowerShell krijgt alleen 32-bits procesmodules.
- U kunt de eigenschappen en methoden van het WMI-Win32_Process-object (Windows Management Instrumentation) in PowerShell gebruiken. Zie en de WMI SDK voor meer informatie
Get-WmiObject
. - De standaardweergave van een proces is een tabel met de volgende kolommen. Zie Proceseigenschappen voor een beschrijving van alle eigenschappen van procesobjecten.
- Ingangen: het aantal ingangen dat het proces heeft geopend.
- NPM(K): de hoeveelheid niet-wisselbare geheugen die het proces gebruikt, in kilobytes.
- PM(K): De hoeveelheid wisselbaar geheugen die het proces gebruikt, in kilobytes.
- WS(K): de grootte van de werkset van het proces, in kilobytes. De werkset bestaat uit de geheugenpagina's waarnaar onlangs is verwezen door het proces.
- VM(M): de hoeveelheid virtueel geheugen die het proces gebruikt, in megabytes. Virtueel geheugen omvat opslag in de wisselbestanden op schijf.
- CPU('s): de hoeveelheid processortijd die het proces op alle processors heeft gebruikt, in seconden.
- Id: de proces-id (PID) van het proces.
- ProcessName: de naam van het proces. Zie de Woordenlijst in Help en ondersteuning en de Help voor Taakbeheer voor uitleg over de concepten met betrekking tot processen.
- U kunt ook de ingebouwde alternatieve weergaven van de processen gebruiken die beschikbaar zijn met
Format-Table
, zoals StartTime en Priority, en u kunt uw eigen weergaven ontwerpen.