HOWTO · PowerShell

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

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

この記事では、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 コマンドレットは、ローカル システムとリモート システムの両方でさまざまなカウンター セットのパフォーマンス メトリックを監視する場合の頼りになるコマンドです。