PowerShell で実行中のプロセスのリストを取得する

Migel Hewage Nimesha 2022年5月31日
PowerShell で実行中のプロセスのリストを取得する

この記事では、PowerShell で実行中のプロセスを一覧表示するための Get-Process コマンドレットを紹介します。

PowerShell で Get-Process コマンドレットを使用して実行中のプロセスのリストを表示する

PowerShell 環境では 200 を超えるコマンドレットを使用できます。各コマンドレットは、特定の機能を実行する役割を果たします。

Get-Process は、Windows マシンで実行中のプロセスのリストを取得するのに役立つ頻繁に使用されるコマンドレットの 1つです。

このコマンドレットは、プロセス 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 コマンドレットのオプションであり、要件に基づいてこれらのパラメータを使用できます。

実行中のすべてのプロセスを表示する

パラメータなしで Get-Process コマンドを直接使用できます。その時点で実行中のすべてのプロセスが表示されます。

また、Get-Process コマンドの代わりに gps エイリアスを使用できます。

Get-Process
gps

出力:

実行中のすべてのプロセスを表示する

出力テーブルには、いくつかの有用な情報があります。

  1. Id - 特定のプロセスの一意の識別子。
  2. ProcessName - プロセスの名前。
  3. CPU(s) - これは、プロセスが使用したプロセッサ時間です(秒単位で指定)。
  4. PM(K) - ページング可能なメモリのサイズ(キロバイトで指定)。

単一プロセスの情報を取得する

Get-Process -Name typora

また

Get-Process typora

上記の 2つのコマンドは、指定されたプロセス名でプロセスのリストをフィルタリングし、その特定のプロセス名で実行中のプロセスを表示します。

出力:

Get-Process -Name

複数のプロセスの情報を取得する

name パラメータとして、その名前で複数のプロセスを指定できます。関連情報とともにすべてのプロセスを一覧表示します。

Get-Process NotePad, Outlook

出力:

Get-Process Multiple

また、プロセス名にワイルドカードを使用することもできます。

指定された属性を持つプロセスオブジェクトを取得する

必要に応じて、特定の属性のプロセスオブジェクト情報を表示できます。NotePad プロセスのプロセス 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.