Get-Process
Hämtar de processer som körs på den lokala datorn.
Syntax
Name (Standard)
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
Cmdleten Get-Process hämtar processerna på en lokal dator.
Utan parametrar hämtar den här cmdleten alla processer på den lokala datorn. Du kan också ange en specifik process efter processnamn eller process-ID (PID) eller genom att skicka ett System.Diagnostics.Process-objekt till den här cmdleten.
Som standard returnerar den här cmdleten ett processobjekt som har detaljerad information om processen och stöder metoder som gör att du kan kontrollera den. Med parametrar kan du ändra vilken typ av information som returneras av den här cmdleten.
- Modul: Hämta information för varje modul som läses in i processen.
- FileVersionInfo: Hämta filversionsinformation för huvudmodulen i processen.
Anmärkning
En modul är en körbar fil eller ett DLL-bibliotek (Dynamic Link Library) som läses in i en process. En process har en eller flera moduler. Huvudmodulen är modulen som användes för att starta processen. Mer information finns i ProcessModule-klass.
Exempel
Exempel 1: Hämta en lista över alla processer som körs på den lokala datorn
Get-Process
Det här kommandot hämtar en lista över alla processer som körs på den lokala datorn. En definition av varje visningskolumn finns i avsnittet ANTECKNINGAR .
Om du vill se alla egenskaper för ett processobjekt använder du Get-Process | Get-Member. Som standard visar PowerShell vissa egenskapsvärden med hjälp av enheter som kilobyte (K) och megabyte (M). De faktiska värdena när de används med operatorn för medlemsåtkomst (.) är i byte.
Exempel 2: Visa detaljerad information om en eller flera processer
Get-Process winword, explorer | Format-List *
Den här pipelinen visar detaljerad information om processerna winword och explorer på datorn. Den använder parametern Name för att ange processerna, men utelämnar det valfria parameternamnet. Pipelineoperatorn (|) rör Processobjekt till cmdleten Format-List , som visar alla tillgängliga egenskaper (*) och deras värden för varje objekt.
Du kan också identifiera processerna med deras process-ID:n. Till exempel Get-Process -Id 664, 2060.
Exempel 3: Hämta alla processer med en arbetsuppsättning som är större än en angiven storlek
Get-Process | Where-Object { $_.WorkingSet -gt 20971520 }
Get-Process | Where-Object WorkingSet -GT 20MB
Cmdleten Get-Process returnerar de processer som körs. Utdata skickas till cmdleten Where-Object , som väljer objekten med ett WorkingSet-värde som är större än 20 971 520 byte.
I det första exemplet Where-Object använder du en scriptblock för att jämföra egenskapen WorkingSet för varje processobjekt . I det andra exemplet använder cmdleten Where-Object den förenklade syntaxen för att jämföra egenskapen WorkingSet . I det här fallet -GT är en parameter, inte en jämförelseoperator. Det andra exemplet använder också ett numeriskt literalsuffix som ett koncist alternativ till 20971520. I PowerShell MB representerar en multiplikator av mebibyte (MiB).
20MB är lika med 20 971 520 byte.
Exempel 4: Visa processer på datorn i grupper baserat på prioritet
$processes = Get-Process
$processes | Sort-Object { $_.PriorityClass } | Format-Table -View Priority
Dessa kommandon visar processer på datorn i grupper baserat på deras prioritetsklass. Det första kommandot hämtar alla processer på datorn och lagrar dem i variabeln $processes .
Det andra kommandot dirigerar processobjekten som lagras i variabeln $processes till cmdleten Sort-Object och sedan till cmdleten Format-Table , som formaterar processerna med hjälp av vyn Prioritet .
Exempel 5: Lägg till en egenskap i standardutdatavisningen "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
Det här exemplet hämtar processer från den lokala datorn och rör varje processobjekt till cmdleten Format-Table .
Format-Table återskapar standardutdatavisningen för ett processobjekt med hjälp av en blandning av egenskapsnamn och beräknade egenskaper. Visningen innehåller ytterligare en StartTime-egenskap som inte finns i standardvisningen.
Exempel 6: Hämta versionsinformation för en process
Get-Process -Name pwsh -FileVersionInfo
ProductVersion FileVersion FileName
-------------- ----------- --------
7.5.0 SHA: 99da… 7.5.0.500 C:\Program Files\PowerShell\7\pwsh.exe
Det här kommandot använder parametern FileVersionInfo för att hämta filversionsinformation för huvudmodulen i pwsh processen. Huvudmodulen är den fil som används för att starta processen, som i det här fallet är pwsh.exe.
Om du vill använda det här kommandot med processer som du inte äger i Windows Vista och senare versioner av Windows måste du köra PowerShell med utökade användarrättigheter (Kör som administratör).
Exempel 7: Hämta moduler som lästs in med den angivna processen
Get-Process -Name SQL* -Module
Det här kommandot använder modulparametern för att hämta modulerna som läses in av alla processer med ett namn som börjar med SQL.
Om du vill använda det här kommandot med processer som du inte äger i Windows Vista och senare versioner av Windows måste du köra PowerShell med utökade användarrättigheter (Kör som administratör).
Exempel 8: Hitta ägaren till en process
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
Det första kommandot visar hur du hämtar ägaren till en process. Utdata visar att ägaren är DOMAIN01\user01.
Den andra pipelinen visar ett annat sätt att hämta ägaren till en process med och Get-CimInstanceInvoke-CimMethod. Klassen Win32_Process med ett filter hämtar pwsh processer och den anropade GetOwner() metoden returnerar information om processens domän och användare. Den här metoden är endast tillgänglig i Windows och kräver inte utökade användarrättigheter.
Exempel 9: Använd en automatisk variabel för att identifiera processen som är värd för den aktuella sessionen
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
Dessa kommandon visar hur du använder den $PID automatiska variabeln för att identifiera den process som är värd för den aktuella PowerShell-sessionen. Du kan använda den här metoden för att skilja värdprocessen från andra pwsh processer som du kanske vill styra.
Det första kommandot hämtar alla pwsh processer som körs. Det andra kommandot hämtar den pwsh process som är värd för den aktuella sessionen.
Exempel 10: Hämta alla processer som har en huvudfönsterrubrik och visa dem i en tabell
Get-Process |
Where-Object -Property MainWindowTitle |
Format-Table -Property Id, Name, MainWindowTitle -AutoSize
Den här pipelinen hämtar alla processer som har en huvudfönsterrubrik och visar dem i en tabell med process-ID och namn.
MainWindowTitle är en av många användbara egenskaper för objekttypen Diagnostics.Process som Get-Process returneras. Om du vill visa alla egenskaper använder du Get-Process | Get-Member.
Parametrar
-FileVersionInfo
Anger att den här cmdleten hämtar filversionsinformationen för programmet som körs i processen.
I Windows Vista och senare versioner av Windows måste du köra PowerShell med utökade användarrättigheter (Kör som administratör) för att använda den här parametern i processer som du inte äger.
Att använda den här parametern är detsamma som att komma åt egenskapen MainModule.FileVersionInfo för varje processobjekt . När du använder den här parametern Get-Process returnerar ett FileVersionInfo-objekt , inte ett Process-objekt . Du kan inte skicka utdata med den här parametern till en cmdlet som förväntar sig ett processobjekt , till exempel Stop-Process.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | False |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | FV, FVI |
Parameteruppsättningar
Name
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
Id
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
InputObject
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Id
Anger en eller flera processer efter process-ID (PID). Du kan ange flera ID:t avgränsade med kommatecken. Om du vill hämta PID för en process använder du Get-Process. Om du vill hämta PID för den aktuella PowerShell-sessionen använder du $PID.
Parameteregenskaper
| Typ: | Int32[] |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | PID |
Parameteruppsättningar
Id
| Position: | Named |
| Obligatorisk: | True |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
IdWithUserName
| Position: | Named |
| Obligatorisk: | True |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
-IncludeUserName
Anger att det här kommandot lägger till en UserName-egenskap för varje returnerat Process-objekt .
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
NameWithUserName
| Position: | Named |
| Obligatorisk: | True |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
IdWithUserName
| Position: | Named |
| Obligatorisk: | True |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
InputObjectWithUserName
| Position: | Named |
| Obligatorisk: | True |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-InputObject
Anger ett eller flera processobjekt . Använd en variabel som innehåller objekten, eller ett kommando eller uttryck som hämtar objekten.
Parameteregenskaper
| Typ: | Process[] |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
InputObject
| Position: | Named |
| Obligatorisk: | True |
| Värde från pipeline: | True |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
InputObjectWithUserName
| Position: | Named |
| Obligatorisk: | True |
| Värde från pipeline: | True |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Module
Anger att den här cmdleten hämtar de moduler som processen har läst in.
I Windows Vista och senare versioner av Windows måste du köra PowerShell med utökade användarrättigheter (Kör som administratör) för att använda den här parametern i processer som du inte äger.
Att använda den här parametern är detsamma som att komma åt modulegenskapen för varje processobjekt .
När du använder den här parametern Get-Process returnerar ett ProcessModule-objekt , inte ett Process-objekt . Du kan inte skicka utdata med den här parametern till en cmdlet som förväntar sig ett processobjekt , till exempel Stop-Process.
När du använder parametrarna Module och FileVersionInfo tillsammans returnerar den här cmdleten ett FileVersionInfo-objekt med information om filversionen av alla moduler.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | False |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
Name
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
Id
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
InputObject
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Name
Anger en eller flera processer efter processnamn. Du kan ange flera processnamn avgränsade med kommatecken och använda jokertecken. Det är valfritt att använda parametern -Name .
Parameteregenskaper
| Typ: | String[] |
| Standardvärde: | None |
| Stöder jokertecken: | True |
| DontShow: | False |
| Alias: | ProcessName |
Parameteruppsättningar
Name
| Position: | 0 |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
NameWithUserName
| Position: | 0 |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
CommonParameters
Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.
Indata
Process
Du kan skicka processobjekt till den här cmdleten.
Utdata
Process
Som standard returnerar den här cmdleten ett System.Diagnostics.Process--objekt.
FileVersionInfo
Om du använder parametern FileVersionInfo returnerar den här cmdleten ett System.Diagnostics.FileVersionInfo-objekt .
ProcessModule
Om du använder modulparametern, utan parametern FileVersionInfo, returnerar den här cmdleten ett System.Diagnostics.ProcessModule-objekt.
Kommentarer
PowerShell innehåller följande alias för Get-Process:
- Alla plattformar:
gps
- Windows:
ps
På datorer som kör 64-bitars Windows hämtar 64-bitarsversionen av PowerShell huvudmodulen och 64-bitars processmodulerna. 32-bitarsversionen av PowerShell hämtar endast 32-bitars processmoduler.
Varning
När du använder Get-Process för att hämta en 64-bitarsprocess i 32-bitarsversionen av PowerShell är $nullegenskaper som Path och MainModule för det returnerade processobjektet . Du måste använda antingen 64-bitarsversionen av PowerShell eller klassen Win32_Process .
Om du vill hämta processinformation från en fjärrdator använder du cmdleten Invoke-Command. Mer information finns i Invoke-Command.
I Windows kan du använda klassen Windows Management Instrumentation (WMI) Win32_Process i PowerShell som ett alternativ till Get-Process. Mer information finns i:
Standardvisningen av ett processobjekt är en tabellvy som innehåller följande kolumner.
- NPM(K): Mängden icke-sidiga minne som processen använder i kilobyte.
- PM(M): Mängden växlingsbart minne som processen använder i megabyte.
- WS(M): Storleken på arbetsuppsättningen för processen i megabyte. Arbetsuppsättningen består av de minnessidor som nyligen refererades till av processen.
- processorer: Den mängd processortid som processen har använt på alla processorer i sekunder.
- ID: Process-ID (PID) för processen.
- SI: Processens sessions-ID.
- ProcessName: Namnet på processen.
Du kan använda de inbyggda alternativa vyerna för Processobjekt som är tillgängliga med Format-Table, till exempel StartTime och Prioritet. Du kan också utforma egna vyer.
En beskrivning av alla tillgängliga processobjektmedlemmar finns i Processegenskaper och Processmetoder.