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