Get-Process
Hiermee haalt u de processen op die op de lokale computer worden uitgevoerd.
Syntaxis
Name (Standaard)
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
De cmdlet Get-Process haalt de processen op een lokale computer op.
Zonder parameters haalt deze cmdlet alle processen op de lokale computer op. U kunt ook een specifiek proces opgeven op basis van procesnaam of proces-id (PID), of door een System.Diagnostics.Process-object door te geven aan deze cmdlet.
Deze cmdlet retourneert standaard een procesobject met gedetailleerde informatie over het proces en ondersteunt methoden waarmee u dit kunt beheren. Met parameters kunt u het type informatie wijzigen dat door deze cmdlet wordt geretourneerd.
- Module: Informatie ophalen voor elke module die in het proces is geladen.
- FileVersionInfo: informatie over de bestandsversie ophalen voor de hoofdmodule van het proces.
Opmerking
Een module is een uitvoerbaar bestand of een DLL (Dynamic Link Library) die in een proces is geladen. Een proces heeft een of meer modules. De hoofdmodule is de module die wordt gebruikt om het proces in eerste instantie te starten. Zie ProcessModule Class voor meer informatie.
Voorbeelden
Voorbeeld 1: Een lijst ophalen met alle actieve processen op de lokale computer
Get-Process
Met deze opdracht wordt een lijst met alle actieve processen op de lokale computer weergegeven. Zie de sectie NOTES voor een definitie van elke weergavekolom.
Als u alle eigenschappen van een procesobject wilt zien, gebruikt u Get-Process | Get-Member. In PowerShell worden standaard bepaalde eigenschapswaarden weergegeven met behulp van eenheden zoals kilobytes (K) en megabytes (M). De werkelijke waarden die worden geopend met de operator voor lidtoegang (.) bevinden zich in bytes.
Voorbeeld 2: Gedetailleerde informatie weergeven over een of meer processen
Get-Process winword, explorer | Format-List *
Deze pijplijn bevat gedetailleerde informatie 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 (|) pijplijnobjecten procesobjecten naar de Format-List cmdlet, waarin alle beschikbare eigenschappen (*) en de bijbehorende waarden voor elk object 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 20971520 }
Get-Process | Where-Object WorkingSet -GT 20MB
De Get-Process cmdlet retourneert de actieve processen. De uitvoer wordt doorgesluisd naar de Where-Object cmdlet, waarmee de objecten worden geselecteerd met een WorkingSet-waarde die groter is dan 20.971.520 bytes.
In het eerste voorbeeld Where-Object wordt een scriptblok gebruikt om de eigenschap WorkingSet van elk procesobject te vergelijken. In het tweede voorbeeld gebruikt de Where-Object cmdlet de vereenvoudigde syntaxis om de eigenschap WorkingSet te vergelijken. In dit geval is dit -GT een parameter, geen vergelijkingsoperator. In het tweede voorbeeld wordt ook een numeriek letterlijk achtervoegsel gebruikt als beknopt alternatief voor 20971520. In PowerShell MB vertegenwoordigt u een mebibyte-vermenigvuldiger (MiB).
20MB is gelijk aan 20.971.520 bytes.
Voorbeeld 4: Processen weergeven op de computer in groepen op basis van prioriteit
$processes = Get-Process
$processes | Sort-Object { $_.PriorityClass } | Format-Table -View Priority
Met deze opdrachten worden processen op de computer in groepen weergegeven op basis van hun prioriteitsklasse. Met de eerste opdracht worden alle processen op de computer opgeslagen en opgeslagen in de $processes variabele.
Met de tweede opdracht worden de procesobjecten die zijn opgeslagen in de $processes variabele Sort-Object , vervolgens naar de Format-Table cmdlet uitgevoerd, waarmee de processen worden opgemaakt met behulp van de prioriteitsweergave .
Voorbeeld 5: Een eigenschap toevoegen aan de standaarduitvoerweergave 'Get-Process'
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
In dit voorbeeld worden processen opgehaald van de lokale computer en wordt elk procesobject naar de Format-Table cmdlet geleid.
Format-Table maakt de standaarduitvoerweergave van een procesobject opnieuw met behulp van een combinatie van eigenschapsnamen en berekende eigenschappen. De weergave bevat een extra StartTime-eigenschap die niet aanwezig is in de standaardweergave.
Voorbeeld 6: Versie-informatie voor een proces ophalen
Get-Process -Name pwsh -FileVersionInfo
ProductVersion FileVersion FileName
-------------- ----------- --------
7.5.0 SHA: 99da… 7.5.0.500 C:\Program Files\PowerShell\7\pwsh.exe
Met deze opdracht wordt de parameter FileVersionInfo gebruikt om informatie over de bestandsversie op te halen voor de hoofdmodule van het pwsh proces. De hoofdmodule is het bestand dat wordt gebruikt om het proces te starten, in dit geval pwsh.exe.
Als u deze opdracht wilt gebruiken met processen die u niet bezit in Windows Vista en latere versies van Windows, moet u PowerShell uitvoeren met verhoogde gebruikersrechten (Als administrator uitvoeren).
Voorbeeld 7: Modules laden met het opgegeven proces
Get-Process -Name SQL* -Module
Met deze opdracht wordt de moduleparameter gebruikt om de modules geladen door alle processen met een naam te laten beginnen.SQL
Als u deze opdracht wilt gebruiken met processen die u niet bezit in Windows Vista en latere versies van Windows, moet u PowerShell uitvoeren met verhoogde gebruikersrechten (Als administrator uitvoeren).
Voorbeeld 8: De eigenaar van een proces zoeken
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
De eerste opdracht laat zien hoe u de eigenaar van een proces kunt ophalen. De uitvoer laat zien dat de eigenaar DOMAIN01\user01is.
De tweede pijplijn toont een andere manier om de eigenaar van een proces op te halen met en Get-CimInstanceInvoke-CimMethod. De Win32_Process-klasse met een filter haalt processen op pwsh en de aangeroepen GetOwner() methode retourneert informatie over het domein en de gebruiker van het proces. Deze methode is alleen beschikbaar in Windows en vereist geen verhoogde gebruikersrechten.
Voorbeeld 9: Gebruik een automatische variabele om het proces te identificeren dat als host fungeert voor de huidige sessie
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
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 pwsh processen die u mogelijk wilt beheren.
Met de eerste opdracht worden alle pwsh processen uitgevoerd. De tweede opdracht haalt het pwsh 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 -Property MainWindowTitle |
Format-Table -Property Id, Name, MainWindowTitle -AutoSize
Met deze pijplijn worden alle processen opgehaald met een hoofdvenstertitel en weergegeven in een tabel met de proces-id en naam.
MainWindowTitle is een van de vele nuttige eigenschappen van het objecttype Diagnostics.Process dat Get-Process retourneert. Als u alle eigenschappen wilt weergeven, gebruikt u 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 uitvoeren met verhoogde gebruikersrechten (Als administrator uitvoeren) om deze parameter te gebruiken voor processen die u niet bezit.
Het gebruik van deze parameter is hetzelfde als het openen van de eigenschap MainModule.FileVersionInfo van elk procesobject . Wanneer u deze parameter gebruikt, Get-Process retourneert u een FileVersionInfo-object , niet een Procesobject . U kunt geen uitvoer doorsluisen die met deze parameter wordt geproduceerd naar een cmdlet die een procesobject verwacht, zoals Stop-Process.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | False |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
| Aliassen: | FV, FVI |
Parametersets
Name
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
Id
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
InputObject
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Id
Hiermee geeft u een of meer processen per proces-id (PID). U kunt meerdere id's opgeven, gescheiden door komma's. Als u de PID van een proces wilt ophalen, gebruikt u Get-Process. Als u de PID van de huidige PowerShell-sessie wilt ophalen, gebruikt u $PID.
Parametereigenschappen
| Type: | Int32[] |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
| Aliassen: | PID |
Parametersets
Id
| Position: | Named |
| Verplicht: | True |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | True |
| Waarde van resterende argumenten: | False |
IdWithUserName
| Position: | Named |
| Verplicht: | True |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | True |
| Waarde van resterende argumenten: | False |
-IncludeUserName
Hiermee wordt aangegeven dat met deze opdracht een eigenschap UserName wordt toegevoegd aan elk geretourneerd procesobject .
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
NameWithUserName
| Position: | Named |
| Verplicht: | True |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
IdWithUserName
| Position: | Named |
| Verplicht: | True |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
InputObjectWithUserName
| Position: | Named |
| Verplicht: | True |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-InputObject
Hiermee geeft u een of meer procesobjecten op. Gebruik een variabele die de objecten bevat, of een opdracht of expressie waarmee de objecten worden opgehaald.
Parametereigenschappen
| Type: | Process[] |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
InputObject
| Position: | Named |
| Verplicht: | True |
| Waarde uit pijplijn: | True |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
InputObjectWithUserName
| Position: | Named |
| Verplicht: | True |
| Waarde uit pijplijn: | True |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Module
Geeft aan dat deze cmdlet de modules ophaalt die het proces heeft geladen.
In Windows Vista en latere versies van Windows moet u PowerShell uitvoeren met verhoogde gebruikersrechten (Als administrator uitvoeren) om deze parameter te gebruiken voor processen die u niet bezit.
Het gebruik van deze parameter is hetzelfde als het openen van de eigenschap Modules van elk procesobject .
Wanneer u deze parameter gebruikt, Get-Process retourneert u een ProcessModule-object , niet een Procesobject . U kunt geen uitvoer doorsluisen die met deze parameter wordt geproduceerd naar een cmdlet die een procesobject verwacht, zoals Stop-Process.
Wanneer u de parameters Module en FileVersionInfo samen gebruikt, retourneert deze cmdlet een FileVersionInfo-object met informatie over de bestandsversie van alle modules.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | False |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
Name
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
Id
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
InputObject
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Name
Hiermee geeft u een of meer processen op procesnaam. U kunt meerdere procesnamen opgeven, gescheiden door komma's en jokertekens gebruiken. Het gebruik van de -Name parameter is optioneel.
Parametereigenschappen
| Type: | String[] |
| Default value: | None |
| Ondersteunt jokertekens: | True |
| DontShow: | False |
| Aliassen: | ProcessName |
Parametersets
Name
| Position: | 0 |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | True |
| Waarde van resterende argumenten: | False |
NameWithUserName
| Position: | 0 |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | True |
| Waarde van resterende argumenten: | False |
CommonParameters
Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.
Invoerwaarden
Process
U kunt procesobjecten doorsluisen naar deze cmdlet.
Uitvoerwaarden
Process
Deze cmdlet retourneert standaard een System.Diagnostics.Process-object.
FileVersionInfo
Als u de parameter FileVersionInfo gebruikt, retourneert deze cmdlet een System.Diagnostics.FileVersionInfo-object .
ProcessModule
Als u de parameter Module gebruikt, zonder de parameter FileVersionInfo , retourneert deze cmdlet een System.Diagnostics.ProcessModule-object .
Notities
PowerShell bevat de volgende aliassen voor Get-Process:
- Alle platforms:
gps
- Windows:
ps
Op computers met 64-bits Windows krijgt de 64-bits versie van PowerShell de hoofdmodule en 64-bits procesmodules. De 32-bits versie van PowerShell krijgt slechts 32-bits procesmodules.
Waarschuwing
Wanneer u Get-Process een 64-bits proces opvragen in de 32-bits versie van PowerShell, zijn $nulleigenschappen zoals Path en MainModule van het geretourneerde procesobject. U moet de 64-bits versie van PowerShell of de Win32_Process-klasse gebruiken.
Gebruik de cmdlet Invoke-Command om procesgegevens van een externe computer op te halen. Zie Invoke-Commandvoor meer informatie.
In Windows kunt u de WMI-klasse (Windows Management Instrumentation) gebruiken Win32_Process in PowerShell als alternatief voor Get-Process. Voor meer informatie, zie:
De standaardweergave van een procesobject is een tabelweergave met de volgende kolommen.
- NPM(K): de hoeveelheid niet-paginageheugen die het proces gebruikt, in kilobytes.
- PM(M): de hoeveelheid wisselbaar geheugen dat het proces gebruikt, in megabytes.
- WS(M): De grootte van de werkset van het proces, in megabytes. De werkset bestaat uit de pagina's met geheugen waarnaar onlangs is verwezen door het proces.
- CPU('s): de hoeveelheid processortijd die het proces in seconden voor alle processors heeft gebruikt.
- id: de proces-id (PID) van het proces.
- SI: De sessie-id van het proces.
- ProcessName: de naam van het proces.
U kunt de ingebouwde alternatieve weergaven gebruiken voor procesobjecten die beschikbaar zijn met Format-Table, zoals StartTime en Priority. U kunt ook uw eigen weergaven ontwerpen.
Zie Proceseigenschappen en Procesmethoden voor een beschrijving van alle beschikbare procesobjectleden.