I found this little gem from 2008, that works better. It looks similar, but uses a foreach loop:
$allclust = @()
$clust = Get-Cluster
foreach($clu in $clust){
$clusstat = "" | Select ClusterName, MemMax, MemAvg, CPUMax, CPUAvg
$clusstat.ClusterName = $clu.name
$statcpu = Get-Stat -Entity ($clu) `
-start (get-date).AddDays(-7) `
-Finish (Get-Date) `
-MaxSamples 10000 `
-stat cpu.usagemhz.average
$statmem = Get-Stat -Entity ($clu) `
-start (get-date).AddDays(-7) `
-Finish (Get-Date) `
-MaxSamples 10000 `
-stat mem.usage.average
$cpu = $statcpu | Measure-Object -Property value -Average -Maximum
$mem = $statmem | Measure-Object -Property value -Average -Maximum
$clusstat.CPUMax = $cpu.Maximum
$clusstat.CPUAvg = $cpu.Average
$clusstat.MemMax = $mem.Maximum
$clusstat.MemAvg = $mem.Average
$allclust += $clusstat
}
$allclust | `
select ClusterName, MemMax, MemAvg, CPUMax, CPUAvg
Gives the following output:
ClusterName : Prod_B
MemMax : 45,3600006103516
MemAvg : 45,2667361276592
CPUMax : 131887
CPUAvg : 69396,2994011976
ClusterName : Prod_A
MemMax : 47,0299987792969
MemAvg : 46,8672157904345
CPUMax : 108343
CPUAvg : 61335,8293413174
ClusterName : Management
MemMax : 41,0499992370605
MemAvg : 40,9491614952773
CPUMax : 103128
CPUAvg : 77024,6107784431
Is there a quick way to get CPU stats in per cent?