Bagikan melalui


Get-Process

Mendapatkan proses yang berjalan di komputer lokal.

Sintaks

Name (Default)

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>]

Deskripsi

Cmdlet Get-Process mendapatkan proses di komputer lokal.

Tanpa parameter, cmdlet ini mendapatkan semua proses di komputer lokal. Anda juga dapat menentukan proses tertentu berdasarkan nama proses atau ID proses (PID), atau dengan memilah objek System.Diagnostics.Process ke cmdlet ini.

Secara default, cmdlet ini mengembalikan objek Proses yang memiliki informasi terperinci tentang proses dan mendukung metode yang memungkinkan Anda mengontrolnya. Dengan parameter, Anda dapat mengubah jenis informasi yang dikembalikan oleh cmdlet ini.

  • Modul: Mengambil informasi untuk setiap modul yang dimuat ke dalam proses.
  • FileVersionInfo: Ambil informasi versi file untuk modul utama proses.

Nota

Modul adalah file yang dapat dieksekusi atau pustaka tautan dinamis (DLL) yang dimuat ke dalam proses. Proses memiliki satu atau beberapa modul. Modul utama adalah modul yang digunakan untuk memulai proses awal. Untuk informasi selengkapnya, lihat Kelas ProcessModule.

Contoh

Contoh 1: Dapatkan daftar semua proses yang sedang berjalan di komputer lokal

Get-Process

Perintah ini mendapatkan daftar semua proses yang sedang berjalan pada komputer lokal. Untuk definisi setiap kolom tampilan, lihat bagian CATATAN .

Untuk melihat semua properti objek Proses , gunakan Get-Process | Get-Member. Secara default, PowerShell menampilkan nilai properti tertentu menggunakan unit seperti kilobyte (K) dan megabyte (M). Nilai aktual saat diakses dengan operator akses anggota (.) berada dalam byte.

Contoh 2: Menampilkan informasi terperinci tentang satu atau beberapa proses

Get-Process winword, explorer | Format-List *

Alur ini menampilkan informasi terperinci tentang winword proses dan explorer pada komputer. Ini menggunakan parameter Nama untuk menentukan proses, tetapi menghilangkan nama parameter opsional. Operator alur (|) menyalurkan objek Proses ke Format-List cmdlet, yang menampilkan semua properti yang tersedia (*) dan nilainya untuk setiap objek.

Anda juga dapat mengidentifikasi proses dengan ID prosesnya. Misalnya, Get-Process -Id 664, 2060.

Contoh 3: Mendapatkan semua proses dengan set kerja yang lebih besar dari ukuran yang ditentukan

Get-Process | Where-Object { $_.WorkingSet -gt 20971520 }
Get-Process | Where-Object WorkingSet -GT 20MB

Get-Process Cmdlet mengembalikan proses yang sedang berjalan. Output disalurkan ke Where-Object cmdlet, yang memilih objek dengan nilai WorkingSet lebih besar dari 20.971.520 byte.

Dalam contoh pertama, Where-Object menggunakan blokir skrip untuk membandingkan properti WorkingSet dari setiap objek Proses . Dalam contoh kedua, Where-Object cmdlet menggunakan sintaks yang disederhanakan untuk membandingkan properti WorkingSet . Dalam hal ini, -GT adalah parameter, bukan operator perbandingan. Contoh kedua juga menggunakan akhiran literal numerik sebagai alternatif ringkas untuk 20971520. Di PowerShell, MB mewakili pengali mebibyte (MiB). 20MB sama dengan 20.971.520 byte.

Contoh 4: Menampilkan proses pada komputer dalam grup berdasarkan prioritas

$processes = Get-Process
$processes | Sort-Object { $_.PriorityClass } | Format-Table -View Priority

Perintah ini menampilkan proses pada komputer dalam grup berdasarkan kelas prioritasnya. Perintah pertama mendapatkan semua proses di komputer dan menyimpannya dalam $processes variabel.

Perintah kedua menyalurkan objek Proses yang disimpan dalam $processes variabel ke Sort-Object cmdlet, lalu ke Format-Table cmdlet, yang memformat proses menggunakan tampilan Prioritas .

Contoh 5: Menambahkan properti ke tampilan output 'Get-Process' default

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

Contoh ini mengambil proses dari komputer lokal dan menyalurkan setiap objek Proses ke Format-Table cmdlet. Format-Table membuat ulang tampilan output default objek Proses menggunakan campuran nama properti dan properti terhitung. Tampilan menyertakan properti StartTime tambahan yang tidak ada di tampilan default.

Contoh 6: Mendapatkan informasi versi untuk proses

Get-Process -Name pwsh -FileVersionInfo
ProductVersion   FileVersion      FileName
--------------   -----------      --------
7.5.0 SHA: 99da… 7.5.0.500        C:\Program Files\PowerShell\7\pwsh.exe

Perintah ini menggunakan parameter FileVersionInfo untuk mendapatkan informasi versi file untuk modul pwsh utama proses. Modul utama adalah file yang digunakan untuk memulai proses, yang dalam hal ini adalah pwsh.exe.

Untuk menggunakan perintah ini dengan proses yang tidak Anda miliki di Windows Vista dan versi Windows yang lebih baru, Anda harus menjalankan PowerShell dengan hak pengguna yang ditinggikan (Jalankan sebagai administrator).

Contoh 7: Dapatkan modul yang dimuat dengan proses yang ditentukan

Get-Process -Name SQL* -Module

Perintah ini menggunakan parameter Modul untuk mendapatkan modul yang dimuat oleh semua proses dengan nama yang dimulai dengan SQL.

Untuk menggunakan perintah ini dengan proses yang tidak Anda miliki di Windows Vista dan versi Windows yang lebih baru, Anda harus menjalankan PowerShell dengan hak pengguna yang ditinggikan (Jalankan sebagai administrator).

Contoh 8: Temukan pemilik proses

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

Perintah pertama menunjukkan cara mendapatkan pemilik proses. Output mengungkapkan bahwa pemilik DOMAIN01\user01.

Alur kedua menunjukkan cara yang berbeda untuk mendapatkan pemilik proses menggunakan Get-CimInstance dan Invoke-CimMethod. Kelas Win32_Process dengan filter mengambil pwsh proses dan metode yang GetOwner() dipanggil mengembalikan informasi tentang Domain dan Pengguna proses. Metode ini hanya tersedia di Windows dan tidak memerlukan hak pengguna yang ditinggikan.

Contoh 9: Gunakan variabel otomatis untuk mengidentifikasi proses yang menghosting sesi saat ini

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

Perintah ini menunjukkan cara menggunakan variabel otomatis $PID untuk mengidentifikasi proses yang menghosting sesi PowerShell saat ini. Anda dapat menggunakan metode ini untuk membedakan proses host dari proses lain pwsh yang mungkin ingin Anda kontrol.

Perintah pertama membuat semua pwsh proses berjalan. Perintah kedua mendapatkan pwsh proses yang menghosting sesi saat ini.

Contoh 10: Mendapatkan semua proses yang memiliki judul jendela utama dan menampilkannya dalam tabel

Get-Process |
    Where-Object -Property MainWindowTitle |
    Format-Table -Property Id, Name, MainWindowTitle -AutoSize

Alur ini mendapatkan semua proses yang memiliki judul jendela utama, dan menampilkannya dalam tabel dengan ID proses dan nama.

MainWindowTitle adalah salah satu dari banyak properti berguna dari jenis objek Diagnostics.Process yang Get-Process kembali. Untuk melihat semua properti, gunakan Get-Process | Get-Member.

Parameter

-FileVersionInfo

Menunjukkan bahwa cmdlet ini mendapatkan informasi versi file untuk program yang berjalan dalam proses.

Pada Windows Vista dan versi Windows yang lebih baru, Anda harus menjalankan PowerShell dengan hak pengguna yang ditinggikan (Jalankan sebagai administrator) untuk menggunakan parameter ini pada proses yang tidak Anda miliki.

Menggunakan parameter ini sama dengan mengakses properti MainModule.FileVersionInfo dari setiap objek Proses . Saat Anda menggunakan parameter ini, Get-Process mengembalikan objek FileVersionInfo , bukan objek Proses . Anda tidak dapat menyalurkan output yang dihasilkan menggunakan parameter ini ke cmdlet yang mengharapkan objek Proses , seperti Stop-Process.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False
Alias:FV, FVI

Set parameter

Name
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
Id
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
InputObject
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Id

Menentukan satu atau beberapa proses berdasarkan ID proses (PID). Anda dapat menentukan beberapa ID yang dipisahkan oleh koma. Untuk mendapatkan PID proses, gunakan Get-Process. Untuk mendapatkan PID sesi PowerShell saat ini, gunakan $PID.

Properti parameter

Jenis:

Int32[]

Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:PID

Set parameter

Id
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
IdWithUserName
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-IncludeUserName

Menunjukkan bahwa perintah ini menambahkan properti UserName ke setiap objek Proses yang dikembalikan.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

NameWithUserName
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
IdWithUserName
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
InputObjectWithUserName
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-InputObject

Menentukan satu atau beberapa objek Proses . Gunakan variabel yang berisi objek, atau perintah atau ekspresi yang mendapatkan objek.

Properti parameter

Jenis:

Process[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

InputObject
Position:Named
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
InputObjectWithUserName
Position:Named
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Module

Menunjukkan bahwa cmdlet ini mendapatkan modul yang telah dimuat proses.

Pada Windows Vista dan versi Windows yang lebih baru, Anda harus menjalankan PowerShell dengan hak pengguna yang ditinggikan (Jalankan sebagai administrator) untuk menggunakan parameter ini pada proses yang tidak Anda miliki.

Menggunakan parameter ini sama dengan mengakses properti Modul dari setiap objek Proses . Saat Anda menggunakan parameter ini, Get-Process mengembalikan objek ProcessModule , bukan objek Proses . Anda tidak dapat menyalurkan output yang dihasilkan menggunakan parameter ini ke cmdlet yang mengharapkan objek Proses , seperti Stop-Process.

Saat Anda menggunakan parameter Modul danFileVersionInfo bersama-sama, cmdlet ini mengembalikan objek FileVersionInfo dengan informasi tentang versi file semua modul.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False

Set parameter

Name
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
Id
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
InputObject
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Name

Menentukan satu atau beberapa proses berdasarkan nama proses. Anda dapat menentukan beberapa nama proses yang dipisahkan oleh koma dan menggunakan karakter kartubebas. -Name Menggunakan parameter bersifat opsional.

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:True
DontShow:False
Alias:ProcessName

Set parameter

Name
Position:0
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
NameWithUserName
Position:0
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

CommonParameters

Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.

Input

Process

Anda dapat menyalurkan objek Proses ke cmdlet ini.

Output

Process

Secara default, cmdlet ini mengembalikan objek System.Diagnostics.Process.

FileVersionInfo

Jika Anda menggunakan parameter FileVersionInfo , cmdlet ini mengembalikan objek System.Diagnostics.FileVersionInfo .

ProcessModule

Jika Anda menggunakan parameter Modul , tanpa parameter FileVersionInfo , cmdlet ini mengembalikan objek System.Diagnostics.ProcessModule .

Catatan

PowerShell menyertakan alias berikut untuk Get-Process:

  • Semua platform:
    • gps
  • Windows:
    • ps

Pada komputer yang menjalankan Windows 64-bit, PowerShell versi 64-bit mendapatkan modul utama dan modul proses 64-bit. PowerShell versi 32-bit hanya mendapatkan modul proses 32-bit.

Peringatan

Ketika Anda menggunakan Get-Process untuk mendapatkan proses 64-bit di PowerShell versi 32-bit, properti seperti Path dan MainModule objek Proses yang dikembalikan adalah $null. Anda harus menggunakan PowerShell versi 64-bit atau kelas Win32_Process .

Untuk mendapatkan informasi proses dari komputer jarak jauh, gunakan cmdlet Invoke-Command. Untuk informasi selengkapnya, lihat Invoke-Command.

Di Windows, Anda dapat menggunakan kelas Win32_Process Windows Management Instrumentation (WMI) di PowerShell sebagai alternatif untuk Get-Process. Untuk informasi selengkapnya, lihat:

Tampilan default objek Proses adalah tampilan tabel yang menyertakan kolom berikut.

  • NPM(K): Jumlah memori non-halaman yang digunakan proses, dalam kilobyte.
  • PM(M): Jumlah memori yang dapat di-pageable yang digunakan proses, dalam megabyte.
  • WS(M): Ukuran set proses yang berfungsi, dalam megabyte. Set kerja terdiri dari halaman memori yang baru-baru ini dirujuk oleh proses.
  • CPU: Jumlah waktu prosesor yang telah digunakan prosesor pada semua prosesor, dalam hitungan detik.
  • Id: ID proses (PID) proses.
  • SI: ID sesi proses.
  • ProcessName: Nama proses.

Anda dapat menggunakan tampilan alternatif bawaan untuk objek Proses yang tersedia dengan Format-Table, seperti StartTime dan Priority. Anda juga dapat merancang tampilan Anda sendiri.

Untuk deskripsi semua anggota objek Proses yang tersedia, lihat Properti Proses dan Metode Proses.