在 PowerShell 中獲取正在執行的程序列表

Migel Hewage Nimesha 2022年5月31日
在 PowerShell 中獲取正在執行的程序列表

本文介紹了 Get-Process cmdlet 以列出 PowerShell 中正在執行的程序。

使用 Get-Process Cmdlet 在 PowerShell 中顯示正在執行的程序列表

PowerShell 環境中有 200 多個 cmdlet 可用。每個 cmdlet 負責執行特定的功能。

Get-Process 是常用的 cmdlet 之一,可幫助檢索 Windows 機器上正在執行的程序列表。

此 cmdlet 提供與每個程序相關的有用資訊,例如程序 ID、名稱、記憶體使用情況等。此外,它還顯示系統正在執行的程序的快照。

語法:

Get-Process [[-ProcessName] string[]] [-NameOfTheComputer string[]]
         [-FileVersionInfo] [-Module] [CommonParameters]

Get-Process -processID Int32[] [-ComputerName string[]]
         [-FileVersionInfo] [-Module] [CommonParameters]

Get-Process -ProcessInputObject Process[] [-ComputerName string[]]
         [-FileVersionInfo] [-Module] [CommonParameters]

這些引數對於 Get-Process cmdlet 是可選的,你可以根據自己的要求使用這些引數。

顯示所有正在執行的程序

我們可以直接使用 Get-Process 命令而無需任何引數。它應該顯示當時所有正在執行的程序。

此外,可以使用 gps 別名代替 Get-Process 命令。

Get-Process
gps

輸出:

顯示所有正在執行的程序

輸出表中有幾個有用的資訊。

  1. Id - 給定程序的唯一識別符號。
  2. ProcessName - 程序的名稱。
  3. CPU(s) - 這是程序使用的處理器時間(以秒為單位)。
  4. PM(K) - 可分頁記憶體的大小(以千位元組為單位)。

檢索單個程序的資訊

Get-Process -Name typora

或者

Get-Process typora

上述兩個命令將按給定的程序名稱過濾程序列表,並顯示該特定程序名稱的正在執行的程序。

輸出:

獲取程序名稱

檢索多個程序的資訊

你可以通過名稱引數指定多個程序作為名稱引數。它將列出所有帶有相關資訊的程序。

Get-Process NotePad, Outlook

輸出:

獲取處理多個

此外,你可以使用萬用字元作為程序名稱。

檢索具有給定屬性的流程物件

我們可以在需要時顯示特定屬性的流程物件資訊。讓我們只檢索 NotePad 程序的 Process ID

(Get-Process NotePad).Id

輸出:

檢索具有給定屬性的流程物件

此外,我們可以檢索 NotePad 程序的 CPU 時間屬性,如下所示。

(Get-Process NotePad).CPU

輸出:

getprocess cpu

顯示程序所有者

Get-Process 命令的預設輸出不顯示 ProcessOwner 屬性。但是當你需要終止給定程序時,這可能是一條有價值的資訊。

我們可以使用 -IncludeUserName 引數在輸出中包含 ProcessOwner 屬性。

Get-Process -Name notepad -IncludeUserName

輸出:

Get-Process IncludeUserName

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.