Files
Sandbox/VMware-Stats.ps1
T
Zack Meier 03dba08135 sync
2026-04-15 15:42:41 -05:00

42 lines
2.2 KiB
PowerShell

$stats = Get-Stat itdscmt1.nd.gov -Disk
$metrics = $stats | group-object MetricId
$obj=[PSCustomObject]@{
'VMName' = 'itdscmt1.nd.gov';
'Usage' = [math]::round((($metrics | where-object Name -eq 'disk.usage.average').Group | Measure-Object -Average Value).Average,2);
'Read' = [math]::round((($metrics | where-object Name -eq 'disk.read.average').Group | Measure-Object -Average Value).Average,2);
'Write' = [math]::round((($metrics | where-object Name -eq 'disk.write.average').Group | Measure-Object -Average Value).Average,2);
}
$stats = Import-Csv "C:\users\zmeier\desktop\stats.csv"
$AllVMs = $stats | group-object Entity
$result = @()
ForEach($VM in $AllVMs)
{
$VMstats = $VM.Group | group-object MetricId
$obj=[PSCustomObject]@{
'Name' = $VM.Name;
'Usage' = [math]::round((($VMstats | where-object Name -eq 'disk.usage.average').Group | Measure-Object -Average Value).Average,2);
'Read' = [math]::round((($VMstats | where-object Name -eq 'disk.read.average').Group | Measure-Object -Average Value).Average,2);
'Write' = [math]::round((($VMstats | where-object Name -eq 'disk.write.average').Group | Measure-Object -Average Value).Average,2);
}
$result += $obj
}
#$DHSVMs = Get-DatastoreCluster *linux*V5K* | Get-VM itddhsdevblda01*,itddhsdevbata01*,itddhsdevcmdb01*,itddhsdevwasw02*,itddhsdevesba01.nd.gov* #| #where-object Name -like "itddhs*" | sort-object UsedSpaceGB
$VMs = Get-DatastoreCluster *V5K* | Get-VM
$result = @()
ForEach($VM in $VMs)
{
$vmstats = $VM | Get-stat -Disk -Realtime
#VM | select Name,@{n='usage';e={[math]::round(($_ | where-object PowerState -eq PoweredOn | Get-Stat -disk -realtime | where-object metricid -eq 'disk.usage.average' | measure-object -average Value).Average,2)}}
$obj =[PSCustomObject]@{
Usage = [math]::round(($VMstats | where-object metricid -eq 'disk.usage.average' | measure-object -average value),2) ;
Read = [math]::round(($VMstats | where-object metricid -eq 'disk.usage.average' | measure-object -average value),2) ;
Write = [math]::round(($VMstats | where-object metricid -eq 'disk.usage.average' | measure-object -average value),2) ;
}
$result += $obj
}