Get-Process
Mendapatkan proses yang berjalan pada komputer lokal atau komputer jarak jauh.
Sintaks
Get-Process
[[-Name] <String[]>]
[-ComputerName <String[]>]
[-Module]
[-FileVersionInfo]
[<CommonParameters>]
Get-Process
[[-Name] <String[]>]
[-IncludeUserName]
[<CommonParameters>]
Get-Process
-Id <Int32[]>
[-IncludeUserName]
[<CommonParameters>]
Get-Process
-Id <Int32[]>
[-ComputerName <String[]>]
[-Module]
[-FileVersionInfo]
[<CommonParameters>]
Get-Process
-InputObject <Process[]>
[-IncludeUserName]
[<CommonParameters>]
Get-Process
-InputObject <Process[]>
[-ComputerName <String[]>]
[-Module]
[-FileVersionInfo]
[<CommonParameters>]
Deskripsi
Get-Process
Cmdlet mendapatkan proses pada komputer lokal atau jarak jauh.
Tanpa parameter, cmdlet ini mendapatkan semua proses di komputer lokal. Anda juga dapat menentukan proses tertentu berdasarkan nama proses atau ID proses (PID) atau meneruskan objek proses melalui alur ke cmdlet ini.
Secara default, cmdlet ini mengembalikan objek proses yang memiliki informasi terperinci tentang proses dan mendukung metode yang memungkinkan Anda memulai dan menghentikan proses. Anda juga dapat menggunakan parameter Get-Process
cmdlet untuk mendapatkan informasi versi file untuk program yang berjalan dalam proses dan untuk mendapatkan modul yang dimuat proses.
Contoh
Contoh 1: Mendapatkan daftar semua proses aktif di komputer lokal
Get-Process
Perintah ini mendapatkan daftar semua proses aktif yang berjalan pada komputer lokal. Untuk definisi setiap kolom, lihat bagian Catatan .
Contoh 2: Mendapatkan semua data yang tersedia tentang satu atau beberapa proses
Get-Process winword, explorer | Format-List *
Perintah ini mendapatkan semua data yang tersedia tentang proses Winword dan Explorer di komputer. Ini menggunakan parameter Nama untuk menentukan proses, tetapi menghilangkan nama parameter opsional. Operator alur (|
) meneruskan data ke Format-List
cmdlet, yang menampilkan semua properti yang tersedia (*
) dari objek proses Winword dan Explorer.
Anda juga dapat mengidentifikasi proses dengan ID prosesnya. Contohnya, 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 20000000}
Perintah ini mendapatkan semua proses yang memiliki set kerja yang lebih besar dari 20 MB. Ini menggunakan Get-Process
cmdlet untuk mendapatkan semua proses yang sedang berjalan. Operator alur (|
) meneruskan objek proses ke Where-Object
cmdlet, yang hanya memilih objek dengan nilai lebih besar dari 20.000.000 byte untuk properti WorkingSet .
WorkingSet adalah salah satu dari banyak properti objek proses. Untuk melihat semua properti, ketik Get-Process | Get-Member
. Secara default, nilai semua properti jumlah berada dalam byte, meskipun tampilan default mencantumkannya dalam kilobyte dan megabyte.
Contoh 4: Mencantumkan proses pada komputer dalam grup berdasarkan prioritas
$A = Get-Process
$A | Get-Process | Format-Table -View priority
Perintah ini mencantumkan proses di komputer dalam grup berdasarkan kelas prioritasnya. Perintah pertama mendapatkan semua proses di komputer dan kemudian menyimpannya dalam $A
variabel.
Perintah kedua menyalurkan objek Proses yang disimpan dalam $A
variabel ke Get-Process
cmdlet, lalu ke Format-Table
cmdlet, yang memformat proses dengan menggunakan tampilan Prioritas .
Tampilan Prioritas , dan tampilan lainnya, ditentukan dalam file format PS1XML di direktori beranda PowerShell ($pshome
).
Contoh 5: Menambahkan properti ke tampilan output Get-Process standar
Get-Process powershell | 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 powershell 12/5/2022 3:21:51 PM
114 61776 104588 2366127 11.45 18336 powershell 12/5/2022 7:30:53 AM
156 77924 82060 2366185 10.47 18812 powershell 12/5/2022 7:30:52 AM
85 48216 115192 2366074 1.14 24428 powershell 12/8/2022 9:14:15 AM
Contoh ini mengambil proses dari komputer lokal. Proses yang diambil disalurkan ke Format-Table
perintah yang menambahkan properti StartTime ke tampilan output standar Get-Process
.
Contoh 6: Mendapatkan informasi versi untuk proses
Get-Process powershell -FileVersionInfo
ProductVersion FileVersion FileName
-------------- ----------- --------
6.1.6713.1 6.1.6713.1 (f... C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe
Perintah ini menggunakan parameter FileVersionInfo untuk mendapatkan informasi versi untuk powershell.exe
file yang merupakan modul utama untuk proses PowerShell.
Untuk menjalankan perintah ini dengan proses yang tidak Anda miliki di Windows Vista dan versi Windows yang lebih baru, Anda harus membuka PowerShell dengan opsi Jalankan sebagai administrator .
Contoh 7: Dapatkan modul yang dimuat dengan proses yang ditentukan
Get-Process SQL* -Module
Perintah ini menggunakan parameter Modul untuk mendapatkan modul yang telah dimuat oleh proses.
Perintah ini mendapatkan modul untuk proses yang memiliki nama yang dimulai dengan SQL
.
Untuk menjalankan perintah ini pada Windows Vista dan versi Windows yang lebih baru dengan proses yang tidak Anda miliki, Anda harus memulai PowerShell dengan opsi Jalankan sebagai administrator .
Contoh 8: Temukan pemilik proses
Get-Process pwsh -IncludeUserName
Handles WS(K) CPU(s) Id UserName ProcessName
------- ----- ------ -- -------- -----------
782 132080 2.08 2188 DOMAIN01\user01 powershell
$p = Get-WmiObject Win32_Process -Filter "name='powershell.exe'"
$p.GetOwner()
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 3
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
Domain : DOMAIN01
ReturnValue : 0
User : user01
Perintah pertama menunjukkan cara menemukan pemilik proses. Parameter IncludeUserName memerlukan hak pengguna yang ditinggikan (Jalankan sebagai Administrator). Output mengungkapkan bahwa pemiliknya adalah Domain01\user01
.
Perintah kedua dan ketiga adalah cara lain untuk menemukan pemilik proses.
Perintah kedua menggunakan Get-WmiObject
untuk mendapatkan proses PowerShell.
Ini menyimpannya dalam $p
variabel.
Perintah ketiga menggunakan metode GetOwner untuk mendapatkan pemilik proses di $p
. Output mengungkapkan bahwa pemiliknya adalah Domain01\user01
.
Contoh 9: Gunakan variabel otomatis untuk mengidentifikasi proses yang menghosting sesi saat ini
Get-Process powershell
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
308 26 52308 61780 567 3.18 5632 powershell
377 26 62676 63384 575 3.88 5888 powershell
Get-Process -Id $PID
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
396 26 56488 57236 575 3.90 5888 powershell
Perintah ini menunjukkan cara menggunakan $PID
variabel otomatis untuk mengidentifikasi proses yang menghosting sesi PowerShell saat ini. Anda dapat menggunakan metode ini untuk membedakan proses host dari proses PowerShell lain yang mungkin ingin Anda hentikan atau tutup.
Perintah pertama mendapatkan semua proses PowerShell dalam sesi saat ini.
Perintah kedua mendapatkan proses PowerShell yang menghosting sesi saat ini.
Contoh 10: Mendapatkan semua proses yang memiliki judul jendela utama dan menampilkannya dalam tabel
Get-Process | Where-Object {$_.mainWindowTitle} | Format-Table Id, Name, mainWindowtitle -AutoSize
Perintah ini mendapatkan semua proses yang memiliki judul jendela utama, dan menampilkannya dalam tabel dengan ID proses dan nama proses.
Properti mainWindowTitle hanyalah salah satu dari banyak properti berguna dari objek Proses yang Get-Process
dikembalikan. Untuk melihat semua properti, pipa hasil Get-Process
perintah ke Get-Member
cmdlet Get-Process | Get-Member
.
Parameter
-ComputerName
Menentukan komputer tempat cmdlet ini mendapatkan proses aktif. Defaultnya adalah komputer lokal.
Ketik nama NetBIOS, alamat IP, atau nama domain yang sepenuhnya memenuhi syarat (FQDN) dari satu atau beberapa komputer. Untuk menentukan komputer lokal, ketik nama komputer, titik (.
), atau localhost
.
Parameter ini tidak bergantung pada jarak jauh Windows PowerShell. Anda dapat menggunakan parameter ComputerName dari cmdlet ini meskipun komputer Anda tidak dikonfigurasi untuk menjalankan perintah jarak jauh.
Jenis: | String[] |
Alias: | Cn |
Position: | Named |
Nilai default: | Local computer |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
-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 membuka PowerShell dengan opsi Jalankan sebagai administrator untuk menggunakan parameter ini pada proses yang tidak Anda miliki.
Anda tidak dapat menggunakan parameter FileVersionInfo dan ComputerName cmdlet Get-Process
dalam perintah yang sama.
Untuk mendapatkan informasi versi file untuk proses di komputer jarak jauh, gunakan Invoke-Command
cmdlet .
Menggunakan parameter ini setara dengan mendapatkan properti MainModule.FileVersionInfo dari setiap objek proses. Saat Anda menggunakan parameter ini, Get-Process
mengembalikan objek FileVersionInfo System.Diagnostics.FileVersionInfo, bukan objek proses. Jadi, Anda tidak dapat menyalurkan output perintah ke cmdlet yang mengharapkan objek proses, seperti Stop-Process
.
Jenis: | SwitchParameter |
Alias: | FV, FVI |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Id
Menentukan satu atau beberapa proses berdasarkan ID proses (PID). Untuk menentukan beberapa ID, gunakan koma untuk memisahkan ID. Untuk menemukan PID proses, ketik Get-Process
.
Jenis: | Int32[] |
Alias: | PID |
Position: | Named |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-IncludeUserName
Menunjukkan bahwa nilai UserName dari objek Proses dikembalikan dengan hasil perintah .
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | False |
Terima karakter wildcard: | False |
-InputObject
Menentukan satu atau beberapa objek proses. Masukkan variabel yang berisi objek, atau ketik perintah atau ekspresi yang mendapatkan objek.
Jenis: | Process[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Module
Menunjukkan bahwa cmdlet ini mendapatkan modul yang telah dimuat oleh proses.
Pada Windows Vista dan versi Windows yang lebih baru, Anda harus membuka PowerShell dengan opsi Jalankan sebagai administrator untuk menggunakan parameter ini pada proses yang tidak Anda miliki.
Untuk mendapatkan modul yang telah dimuat oleh proses di komputer jarak jauh, gunakan Invoke-Command
cmdlet .
Parameter ini setara dengan mendapatkan properti Modul dari setiap objek proses. Saat Anda menggunakan parameter ini, cmdlet ini mengembalikan objek ProcessModule System.Diagnostics.ProcessModule, bukan objek proses. Jadi, Anda tidak dapat menyalurkan output perintah ke cmdlet yang mengharapkan objek proses, seperti Stop-Process
.
Saat Anda menggunakan parameter Modul dan FileVersionInfo dalam perintah yang sama, cmdlet ini mengembalikan objek FileVersionInfo dengan informasi tentang versi file semua modul.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Name
Menentukan satu atau beberapa proses berdasarkan nama proses. Anda dapat mengetik beberapa nama proses (dipisahkan oleh koma) dan menggunakan karakter kartubebas. Nama parameter (Name
) bersifat opsional.
Jenis: | String[] |
Alias: | ProcessName |
Position: | 0 |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | True |
Input
Anda dapat menyalurkan objek proses ke cmdlet ini.
Output
Secara default, cmdlet ini mengembalikan objek System.Diagnostics.Process .
Jika Anda menggunakan parameter FileVersionInfo , cmdlet ini mengembalikan objek FileVersionInfo .
Jika Anda menggunakan parameter Modul, tanpa parameter FileVersionInfo, cmdlet ini mengembalikan objek ProcessModule.
Catatan
Windows PowerShell menyertakan alias berikut untuk Get-Process
:
gps
ps
Pada komputer yang menjalankan Windows versi 64-bit, PowerShell versi 64-bit hanya mendapatkan modul proses 64-bit dan PowerShell versi 32-bit hanya mendapatkan modul proses 32-bit.
Untuk mendapatkan informasi proses dari komputer jarak jauh, gunakan Invoke-Command
cmdlet . Untuk informasi selengkapnya, lihat Invoke-Command.
Anda dapat menggunakan properti dan metode objek Win32_Process Windows Management Instrumentation (WMI) di PowerShell. Untuk informasi selengkapnya, lihat Win32_Process.
Tampilan default proses adalah tabel yang menyertakan kolom berikut. Untuk deskripsi semua properti objek proses, lihat Properti Proses.
- Handel: Jumlah handel yang telah dibuka proses.
- NPM(K): Jumlah memori non-halaman yang digunakan proses, dalam kilobyte.
- PM(K): Jumlah memori yang dapat di-pageable yang digunakan proses, dalam kilobyte.
- WS(K): Ukuran set kerja proses, dalam kilobyte. Set kerja terdiri dari halaman memori yang baru-baru ini dirujuk oleh proses.
- VM(M): Jumlah memori virtual yang digunakan proses, dalam megabyte. Memori virtual mencakup penyimpanan dalam file halaman pada disk.
- CPU: Jumlah waktu prosesor yang telah digunakan prosesor pada semua prosesor, dalam hitungan detik.
- ID: ID proses (PID) proses.
- ProcessName: Nama proses. Untuk penjelasan tentang konsep yang terkait dengan proses, lihat Glosarium di Pusat Bantuan dan Dukungan dan Bantuan untuk Task Manager.
Anda juga dapat menggunakan tampilan alternatif bawaan dari proses yang tersedia dengan Format-Table
, seperti StartTime dan Priority, dan Anda dapat merancang tampilan Anda sendiri.