获取Get-Counter命令行的属性

问题描述:

我在研究PowerShell以获取几台服务器的CPU利用率示例。 我为此使用Get-Counter命令。 我需要CPU利用率的值,换句话说,对于某些样本和间隔,计数器"\Processor(_Total)\% Processor Time"的计算值。 我用命令行类似获取Get-Counter命令行的属性

$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} 

类型转换为加倍不起作用。 我怎样才能提取值“12.6116279752759”只。

这应该照顾它:

[String]$var=$array_temp[0].countersamples|Select-Object -ExpandProperty CookedValue 
+0

谢谢,这是扩展属性,我应该寻找。 – anupinder 2013-02-13 18:12:29

只需使用-ExpandProperty参数Select-Object。它将返回属性的内容/值,而不是像您的atm那样的属性为CookedValue的对象。像这样:

$temp_array=Get-Counter -Counter "\Processor(_Total)\% Processor Time" -MaxSamples 2 -SampleInterval 1 
$temp_array[0].CounterSamples |Select-Object -ExpandProperty CookedValue 
+0

谢谢,这是扩展属性,我应该寻找。 – anupinder 2013-02-13 18:13:03