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