Bagikan melalui


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

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

ProcessModule

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.