Hi LucD
Thanks for your response.
$vm = get-vm xxxxx*
$output=@()
for ($i=0 ; $i -lt 4 ; $i++) {
if ($i -eq 0) {
$divider=200
$Ready = “{0:n2}” -f ((Get-Stat -Entity $vm -Stat cpu.ready.summation -Realtime -instance "" -ea SilentlyContinue | measure Value -Average).Average)
$usage = (Get-Stat -Entity $vm -Stat cpu.usage.average -Realtime -instance "" -ea SilentlyContinue | measure Value -Average).Average
$CoStop = (Get-Stat -Entity $vm -Stat cpu.costop.summation -Realtime -instance "" -ea SilentlyContinue | measure Value -Average).Average
}
if ($i -eq 1) {
$divider=3000
$Ready = “{0:n2}” -f ((Get-Stat -Entity $vm -Stat cpu.ready.summation -start (get-date).adddays(-1) -finish (get-date) -interval (5) -instance "" -ea silentlycontinue | measure Value -Average).Average)
$usage = (Get-Stat -Entity $vm -Stat cpu.usage.average -start (get-date).adddays(-1) -finish (get-date) -interval (5) -instance "" -ea silentlycontinue | measure Value -Average).Average
$CoStop = (Get-Stat -Entity $vm -Stat cpu.costop.summation -start (get-date).adddays(-1) -finish (get-date) -interval (5) -instance "" -ea silentlycontinue | measure Value -Average).Average
}
if ($i -eq 2) {
$divider=18000
$Ready = “{0:n2}” -f ((Get-Stat -Entity $vm -Stat cpu.ready.summation -start (get-date).adddays(-7) -finish (get-date) -interval (30) -instance "" -ea silentlycontinue | measure Value -Average).Average)
$usage = (Get-Stat -Entity $vm -Stat cpu.usage.average -start (get-date).adddays(-7) -finish (get-date) -interval (30) -instance "" -ea silentlycontinue | measure Value -Average).Average
$CoStop = (Get-Stat -Entity $vm -Stat cpu.costop.summation -start (get-date).adddays(-7) -finish (get-date) -interval (30) -instance "" -ea silentlycontinue | measure Value -Average).Average
}
if ($i -eq 3) {
$divider=72000
$Ready = “{0:n2}” -f ((Get-Stat -Entity $vm -Stat cpu.ready.summation -start (get-date).adddays(-30) -finish (get-date) -interval (120) -instance "" -ea silentlycontinue | measure Value -Average).Average)
$usage = (Get-Stat -Entity $vm -Stat cpu.usage.average -start (get-date).adddays(-30) -finish (get-date) -interval (120) -instance "" -ea silentlycontinue | measure Value -Average).Average
$CoStop = 'None'
}
$output += New-Object PSObject -Property @{
VM = ($vm.Name).Split('.')[0]
ReadyAvg = $Ready
Divider = $divider
Interval = &{
if ($divider -eq 200) {'Realtime'}
elseif ($divider -eq 3000) {'1day - 5min'}
elseif ($divider -eq 6000) {'1day - 10min'}
elseif ($divider -eq 9000) {'1day - 15min'}
elseif ($divider -eq 18000) {'7day - 30min'}
elseif ($divider -eq 72000) {'30day - 120min'}
}
Ready = &{ ”{0:n2}” -f ($Ready/$divider)}
Usage = &{ ”{0:n2}” -f $usage}
CoStop = &{ ”{0:n2}” -f $CoStop}
Counter = $i
}
}
$output | select VM, Interval, Ready, ReadyAvg, Divider, Counter, Usage, CoStop | ft -AutoSize