获取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
答
只需使用-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
谢谢,这是扩展属性,我应该寻找。 – anupinder 2013-02-13 18:12:29