$VC = Connect-VIServer (Read-Host "VC Server") $output = Read-Host "Output path\file" $VMs = Get-VM | Where {$_.PowerState -eq "PoweredOn"} $myCol = @() ForEach ($VM in $VMs) { $myObj = "" | Select-Object Name, OS, DisksGB, MemGB $myObj.Name = $VM.Name $myObj.OS = $VM.Guest.OSFullName $myObj.DisksGB = [Math]::Round((($VM.HardDisks | Measure-Object -Property CapacityKB -Sum).Sum * 1KB / 1GB),2) $myObj.MemGB = [Math]::Round(($VM.MemoryMB * 1MB / 1GB),2) $myCol += $myObj } $myCol | ConvertTo-HTML | Out-File $output Invoke-Item $output