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