トップ回答者
同一PSで、「Get-Counter '\Process(*)\% Processor Time'」 を複数回実行するとエラーが出る

質問
-
以下の手順を行うと、エラーが出てしまいます。
何か対処法はありませんでしょうか。エラー全文は最下にあります。
---
1.PowerShellを管理者で起動
2.コマンドを入力する。エラー無く正常に出力される。
Get-Counter '\Process(*)\% Processor Time'
3.あるプロセス(例えばie,firefox,chromeなど)を落とす。
4.コマンドを入力する。まずエラーが出て、その後出力はされる。
Get-Counter '\Process(*)\% Processor Time'
---
<質問>
A. 上記のエラーを解消する方法はないでしょうか。ご教示ください。
<コメント>
エラーの原因は、1回目のGet-Counterで取得したプロセスが、2回目の実行時に消滅していることかと思われます。
1回目の情報を使わずに、2回目で新規で実行されればエラーが解消されると思うのですが…。
なお、2回目の実行時にプロセスの追加も反映もされません。この場合エラーは出ません。
<エラー全文>
Get-Counter : パフォーマンス カウンターのサンプルのいずれかに含まれるデータが無効です。各 PerformanceCounterSample オブ
ジェクトの Status プロパティを表示して、有効なデータが含まれていることを確認してください。
発生場所 行:1 文字:3
+ (Get-Counter '\Process(*)\% Processor Time').CounterSamples | Sort-O ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidResult: (:) [Get-Counter]、Exception
+ FullyQualifiedErrorId : CounterApiError,Microsoft.PowerShell.Commands.GetCounterCommand- 編集済み seebookf91 2016年6月6日 13:40
回答
-
チャブーンです。
この件ですが、たとえば他のカウンタ(Processとは無関係で大丈夫です)をGet-Counterで引き直して、再度'\Process(*)\% Processor Time'で読み直しても大丈夫ですが、無駄に1秒使ってしまうので、牟田口さんのいうとおりの方が正しいといえますね。
Get-Counter -ListSet Process | Out-Null
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。
- 回答としてマーク seebookf91 2016年6月7日 12:51
すべての返信
-
チャブーンです。
この件ですが、たとえば他のカウンタ(Processとは無関係で大丈夫です)をGet-Counterで引き直して、再度'\Process(*)\% Processor Time'で読み直しても大丈夫ですが、無駄に1秒使ってしまうので、牟田口さんのいうとおりの方が正しいといえますね。
Get-Counter -ListSet Process | Out-Null
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。
- 回答としてマーク seebookf91 2016年6月7日 12:51