PowerShell のタスク マネージャーに似たプロセスのリストを取得する

John Wachira 2024年2月15日
PowerShell のタスク マネージャーに似たプロセスのリストを取得する

この記事では、PowerShell でローカル コンピューターからパフォーマンス メトリックを取得する方法について説明します。 PowerShell で Get-Counter コマンドレットを使用して、Windows のパフォーマンス監視プログラムからパフォーマンス カウンター データをフェッチします。

Get-Counter を使用して、PowerShell のタスク マネージャーに似たプロセスのリストを取得する

前述したように、Get-Counter コマンドレットを使用すると、使用可能なすべてのパフォーマンス カウンターを一覧表示し、カウンターからのデータを監視および表示できます。 このコマンドレットは、ローカル システムとリモート システムの両方で機能します。

Get-Counter コマンドレットは、デフォルトで一連のカウンターを 1 秒間隔で表示します。 ほとんどのカウンター セット (メトリック) は ACL (アクセス制御リスト) によって保護されているため、管理者として PowerShell を実行することをお勧めします。

Get-Counter

get-counter

リストされているデフォルトのカウンターは、ネットワーク、プロセッサー、およびメモリーを処理します。 また、ハード ドライブに関するいくつかのデータも一覧表示されます。

ローカル コンピューター上のすべてのカウンター セットの一覧を取得するには、次のコマンドを実行します。

Get-Counter -ListSet *

カウンター セット

ListSet パラメーターとアスタリスク (*) を追加すると、コンピューターに設定されているすべてのカウンターのリストを取得するように Get-Counter コマンドレットに指示します。 MachineName 列のドット (.) に注意してください。 これはローカル コンピューターを表します。

カウンター セットを選択し、サンプル間隔とサンプルの最大数を指定できます。 以下の例では、ローカル コンピューター上のすべてのプロセッサからメトリックをフェッチします。

コマンドレットは 3 秒間隔でデータをフェッチし、4つのサンプルを表示します。

Get-Counter -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 3 -MaxSamples 4

プロセッサ メトリック

上記のコマンドでは、Counter パラメーターを使用して、カウンター パス \Processor(_Total)\% Processor Time を指定しました。 次に、指定されたカウンターの SampleInterval パラメーターで 3 秒間隔を設定します。

MaxSamples パラメーターは、カウンターをチェックする最大回数として 4 を指定します。 特定のカウンターの連続サンプルをフェッチする場合は、以下に示すように -Continuous パラメーターを使用します。

Get-Counter -Counter "\Processor(_Total)\% Processor Time" -Continuous

これにより、実行を中断するまで、1 秒間隔でサンプルが継続的に取得されます。 これを行うには、CTRL+C を押します。

SampleInterval パラメータで間隔を指定できます。

以下に示すように、リストをアルファベット順に並べ替えることができます。

Get-Counter -ListSet * |
  Sort-Object -Property CounterSetName |
    Format-Table CounterSetName, CounterSetType -AutoSize

アルファベット カウンター セット

結果は、パイプラインを下って Sort-Object コマンドレットに設定されます。 Property パラメータは、CounterSet オブジェクトを CounterSetName でソートする必要があることを示します。

結果は、パイプラインを介して Format-Table に渡されます。 AutoSize パラメーターは、列幅を調整することで切り捨てを最小限に抑えます。

Windows タスク マネージャーに表示されるものと同様のプロセスのリストを取得する場合は、次のコマンドを使用できます。

Get-Counter "\Process(*)\Working Set - Private"

実行中のプロセスの設定

ハンドル数を取得するには、次のコマンドを実行します。

Get-Counter "\Process(*)\Handle Count"

ハンドル数

簡単に言えば、Get-Counter コマンドレットは、ローカル システムとリモート システムの両方でさまざまなカウンター セットのパフォーマンス メトリックを監視する場合の頼りになるコマンドです。

著者: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn