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 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 cmdlet Get-Process 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 cmdlet Format-List, yang menampilkan semua properti yang tersedia (*) dari objek proses Winword dan Explorer.

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 20000000}

Perintah ini mendapatkan semua proses yang memiliki set kerja yang lebih besar dari 20 MB. Ini menggunakan cmdlet Get-Process untuk mendapatkan semua proses yang berjalan. Operator alur (|) meneruskan objek proses ke cmdlet Where-Object, yang hanya memilih objek dengan nilai yang 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 variabel $A.

Perintah kedua menyalurkan objek Proses yang disimpan dalam variabel ke cmdlet , lalu ke cmdlet , yang memformat proses dengan menggunakan tampilan Prioritas.

Tampilan Prioritas , dan tampilan lainnya, ditentukan dalam file format PS1XML di direktori beranda PowerShell ().

Contoh 5: Menambahkan properti ke tampilan output Get-Process standar

Get-Process pwsh | 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, MachineName, ProcessName -AutoSize
NPM(K) PM(K) WS(K) VM(M) CPU(s)   Id MachineName ProcessName
------ ----- ----- ----- ------   -- ----------- -----------
     6 23500 31340   142 1.70   1980 .           pwsh
     6 23500 31348   142 2.75   4016 .           pwsh
    27 54572 54520   576 5.52   4428 .           pwsh

Contoh ini mengambil proses dari komputer lokal dan komputer jarak jauh (S1). Proses yang diambil disalurkan ke perintah yang menambahkan properti MachineName ke tampilan output standar.

Contoh 6: Mendapatkan informasi versi untuk proses

Get-Process pwsh -FileVersionInfo
ProductVersion   FileVersion      FileName
--------------   -----------      --------
6.1.2            6.1.2            C:\Program Files\PowerShell\6\pwsh.exe

Perintah ini menggunakan parameter FileVersionInfo untuk mendapatkan informasi versi untuk file pwsh.exe 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     pwsh

Perintah ini menunjukkan cara menemukan pemilik proses. Di Windows, parameter IncludeUserName memerlukan hak pengguna yang ditinggikan (Jalankan sebagai Administrator). Output mengungkapkan bahwa pemilik Domain01\user01.

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

Get-Process 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 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 yang berguna dari objek Proses yang kembalikan. Untuk melihat semua properti, pipa hasil perintah Get-Process ke cmdlet Get-MemberGet-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 membuka PowerShell dengan opsi Jalankan sebagai administrator untuk menggunakan parameter ini pada proses yang tidak Anda miliki.

Untuk mendapatkan informasi versi file untuk proses di komputer jarak jauh, gunakan cmdlet Invoke-Command.

Menggunakan parameter ini setara dengan mendapatkan properti MainModule.FileVersionInfo dari setiap objek proses. Saat Anda menggunakan parameter ini, Get-Process mengembalikan objek FileVersionInfoSystem.Diagnostics.FileVersionInfo, bukan objek proses. Jadi, Anda tidak dapat menyalurkan output perintah ke cmdlet yang mengharapkan objek proses, seperti Stop-Process.

Properti parameter

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

Kumpulan 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). Untuk menentukan beberapa ID, gunakan koma untuk memisahkan ID. Untuk menemukan PID proses, ketik Get-Process.

Properti parameter

Jenis:

Int32[]

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

Kumpulan 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 nilai UserName dari objek Proses dikembalikan dengan hasil perintah.

Properti parameter

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

Kumpulan 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. Masukkan variabel yang berisi objek, atau ketik perintah atau ekspresi yang mendapatkan objek.

Properti parameter

Jenis:

Process[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan 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 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 cmdlet Invoke-Command.

Parameter ini setara dengan mendapatkan Modul properti dari setiap objek proses. Saat Anda menggunakan parameter ini, cmdlet ini mengembalikan objek ProcessModuleSystem.Diagnostics.ProcessModule, bukan objek proses. Jadi, Anda tidak dapat menyalurkan output perintah ke cmdlet yang mengharapkan objek proses, seperti Stop-Process.

Saat Anda menggunakan Modul dan parameter FileVersionInfo dalam perintah yang sama, cmdlet ini mengembalikan objek FileVersionInfo dengan informasi tentang versi file semua modul.

Properti parameter

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

Kumpulan 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 mengetik beberapa nama proses (dipisahkan oleh koma) dan menggunakan karakter kartubebas. Nama parameter (Name) bersifat opsional.

Properti parameter

Jenis:

String[]

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

Kumpulan 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

System.Diagnostics.Process, System.Diagnostics.FileVersionInfo, System.Diagnostics.ProcessModule

Secara default, cmdlet ini mengembalikan objek System.Diagnostics.Process. Jika Anda menggunakan parameter FileVersionInfo, parameter tersebut mengembalikan objek System.Diagnostics.FileVersionInfo. Jika Anda menggunakan parameter Modul , tanpa parameter FileVersionInfo, modul tersebut mengembalikan objek System.Diagnostics.ProcessModule .

Catatan

  • Anda juga dapat merujuk ke cmdlet ini dengan alias bawaannya, ps dan gps. Untuk informasi selengkapnya, lihat about_Aliases.
  • 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.
  • Anda dapat menggunakan properti dan metode objek Win32_Process Windows Management Instrumentation (WMI) di PowerShell. Untuk informasi, lihat Get-WmiObject dan WMI SDK.
  • Tampilan default proses adalah tabel yang menyertakan kolom berikut. Untuk deskripsi semua properti objek proses, lihat Properti Proses.
    • Menangani: 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 prioritas , dan Anda dapat merancang tampilan Anda sendiri.