Get-Process
Hiermee haalt u de processen op die op de lokale computer worden uitgevoerd.
Syntaxis
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 computer op.
Zonder parameters haalt deze cmdlet alle processen op de lokale computer op. U kunt ook een bepaald proces opgeven op basis van procesnaam of proces-id (PID) of een procesobject doorgeven via de pijplijn aan deze cmdlet.
Deze cmdlet retourneert standaard een procesobject met gedetailleerde informatie over het proces en ondersteunt methoden waarmee u het proces kunt starten en stoppen. U kunt ook de parameters van de Get-Process
cmdlet gebruiken om informatie over de 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 ophalen met alle actieve processen op de lokale computer
Get-Process
Met deze opdracht krijgt u een lijst met alle actieve processen die worden uitgevoerd op de lokale computer. 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 opgehaald over de Winword- en Explorer-processen op de computer. Hierbij wordt de parameter Name gebruikt om de processen op te geven, maar wordt de optionele parameternaam weggelaten. De pijplijnoperator (|
) geeft de gegevens door aan de Format-List
cmdlet, waarin alle beschikbare eigenschappen (*
) van de Winword- en Explorer-procesobjecten worden weergegeven.
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 groter dan een opgegeven grootte
Get-Process | Where-Object {$_.WorkingSet -gt 20000000}
Met deze opdracht worden alle processen met een werkset groter dan 20 MB weergegeven. Hierbij wordt de Get-Process
cmdlet gebruikt om alle actieve processen op te halen. De pijplijnoperator (|
) geeft de procesobjecten door aan de Where-Object
cmdlet, waarmee alleen het object wordt geselecteerd met een waarde die groter is 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 Get-Process | Get-Member
u . Standaard bevinden de waarden van alle hoeveelheidseigenschappen zich in bytes, ook al worden ze in kilobytes en megabytes weergegeven in de standaardweergave.
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 procesobject dat in de $A
variabele is opgeslagen, naar de Get-Process
cmdlet geleid en vervolgens naar de Format-Table
cmdlet, waarmee de processen worden opgemaakt met behulp van de weergave Prioriteit .
De prioriteitsweergave en andere weergaven worden gedefinieerd in de PS1XML-indelingsbestanden in de PowerShell-basismap ($pshome
).
Voorbeeld 5: Een eigenschap toevoegen aan de standaardweergave voor get-process-uitvoer
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, ProcessName, StartTime -AutoSize
NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName StartTime
------ ----- ----- ----- ------ -- ----------- ---------
143 239540 259384 2366162 22.73 12720 pwsh 12/5/2022 3:21:51 PM
114 61776 104588 2366127 11.45 18336 pwsh 12/5/2022 7:30:53 AM
156 77924 82060 2366185 10.47 18812 pwsh 12/5/2022 7:30:52 AM
85 48216 115192 2366074 1.14 24428 pwsh 12/8/2022 9:14:15 AM
In dit voorbeeld worden processen opgehaald van de lokale computer. De opgehaalde processen worden doorgesluisd naar de Format-Table
opdracht waarmee de eigenschap StartTime wordt toegevoegd aan de standaarduitvoerweergave Get-Process
.
Voorbeeld 6: Versie-informatie voor een proces ophalen
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 versiegegevens op te halen voor het pwsh.exe
bestand dat de hoofdmodule is voor het PowerShell-proces.
Als u deze opdracht wilt uitvoeren met processen die u niet bezit in Windows Vista en latere versies van Windows, moet u PowerShell openen met de optie Als administrator uitvoeren .
Voorbeeld 7: Modules laden met het opgegeven proces
Get-Process SQL* -Module
Met deze opdracht wordt de moduleparameter gebruikt om de modules op te halen die door het proces zijn geladen.
Met deze opdracht worden de modules 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 waarvan u geen eigenaar bent, moet u PowerShell starten met de optie Uitvoeren als administrator .
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.
Voor Windows vereist de parameter IncludeUserName verhoogde gebruikersrechten (Als administrator uitvoeren).
De uitvoer laat zien dat de eigenaar is Domain01\user01
.
Voorbeeld 9: Gebruik een automatische variabele 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.
De tweede opdracht haalt het PowerShell-proces op dat als host fungeert voor de huidige sessie.
Voorbeeld 10: Alle processen ophalen met een titel van het hoofdvenster 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 hoofdvenstertitel hebben en worden deze weergegeven in een tabel met de proces-id en de procesnaam.
De eigenschap mainWindowTitle is slechts een van de vele nuttige eigenschappen van het procesobject dat Get-Process
retourneert. Als u alle eigenschappen wilt weergeven, geeft u de resultaten van een Get-Process
opdracht door aan de Get-Member
cmdlet Get-Process | Get-Member
.
Parameters
-FileVersionInfo
Geeft aan dat deze cmdlet de informatie over de bestandsversie 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 die u niet bezit.
Het gebruik van deze parameter komt overeen met het ophalen van de eigenschap MainModule.FileVersionInfo van elk procesobject. Wanneer u deze parameter gebruikt, Get-Process
retourneert u een FileVersionInfo-object System.Diagnostics.FileVersionInfo, niet een procesobject. U kunt de uitvoer van de opdracht dus niet doorsluisen naar een cmdlet die een procesobject verwacht, zoals Stop-Process
.
Type: | SwitchParameter |
Aliassen: | FV, FVI |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Id
Hiermee geeft u een of meer processen per 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[] |
Aliassen: | PID |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | 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 |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | 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 |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Module
Geeft aan dat met deze cmdlet de modules worden opgehaald 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 die u niet bezit.
Deze parameter komt overeen met het ophalen van de eigenschap Modules van elk procesobject. Wanneer u deze parameter gebruikt, retourneert deze cmdlet een ProcessModule-object System.Diagnostics.ProcessModule, niet een procesobject. U kunt de uitvoer van de opdracht dus niet doorsluisen 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: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | 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[] |
Aliassen: | ProcessName |
Position: | 0 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | True |
Invoerwaarden
U kunt een procesobject doorsluisen naar deze cmdlet.
Uitvoerwaarden
Deze cmdlet retourneert standaard een System.Diagnostics.Process-object .
Als u de parameter FileVersionInfo gebruikt, retourneert deze cmdlet een FileVersionInfo-object .
Als u de parameter Module gebruikt, zonder de parameter FileVersionInfo , retourneert deze cmdlet een ProcessModule-object .
Notities
PowerShell bevat de volgende aliassen voor Get-Process
:
- Alle platforms:
gps
- Windows:
ps
Op computers met een 64-bits versie van Windows krijgt de 64-bits versie van PowerShell slechts 64-bits procesmodules en krijgt de 32-bits versie van PowerShell slechts 32-bits procesmodules.
Gebruik de Invoke-Command
cmdlet om procesgegevens op te halen van een externe computer. Zie Invoke-Command voor meer informatie.
U kunt de eigenschappen en methoden van het WMI-Win32_Process-object (Windows Management Instrumentation) gebruiken in PowerShell. Zie Win32_Process voor meer informatie.
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-paginageheugen die het proces gebruikt, in kilobytes.
- PM(K): de hoeveelheid wisselbaar geheugen dat door het proces wordt gebruikt, in kilobytes.
- WS(K): De grootte van de werkset van het proces, in kilobytes. De werkset bestaat uit de pagina's met geheugen waarnaar onlangs is verwezen door het proces.
- VM(M): de hoeveelheid virtueel geheugen die het proces gebruikt, in megabytes. Virtueel geheugen bevat opslag in de wisselbestanden op schijf.
- CPU('s): de hoeveelheid processortijd die het proces in seconden heeft gebruikt voor alle processors.
- Id: de proces-id (PID) van het proces.
- ProcessName: de naam van het proces. Zie de woordenlijst in het Help- en ondersteuningscentrum en de Help voor Taakbeheer voor uitleg over de concepten die betrekking hebben op processen.
U kunt ook de ingebouwde alternatieve weergaven gebruiken van de processen die beschikbaar zijn met Format-Table
, zoals StartTime en Priority, en u kunt uw eigen weergaven ontwerpen.