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 |) 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.