$VC = Connect-VIServer (Read-Host "VC Server") $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 | Export-Csv "VMs.csv" -NoTypeInformation