いくつかのサーバーの CPU 使用率のサンプルを取得するために PowerShell を調査していました。Get-Counter
この目的のためにコマンドレットを使用しています。"\Processor(_Total)\% Processor Time"
CPU 使用率の値、つまり、特定のサンプルと間隔のカウンターのクック値が必要です。私はコマンドレットを次のように使用します
$temp_array=Get-Counter -ComputerName server1 -Counter "\Processor(_Total)\% Processor Time" -MaxSamples 2 -SampleInterval 1
$temp_array[0].countersamples|Select-Object -Property CookedValue
出力は次のようになります
CookedValue
-----------
2.90508736147317
値が必要なだけです。私が使用する場合
$array_temp=Get-Counter -ComputerName pwisdevsql10 -Counter "\Processor(_Total)\% Processor Time" -MaxSamples 2 -SampleInterval 1
[String]$var=$array_temp[0].countersamples|Select-Object -Property CookedValue
echo $var
それは出力を与える
@{CookedValue=12.6116279752759}
double への型キャストは機能しません。値「12.6116279752759」のみを抽出するにはどうすればよいですか。