connect-viserver -server $Report = @() get-vm | % { $vm = Get-View $_.ID if($vm.resourceconfig.memoryallocation.limit -ne -1){ if ($vm.Summary.Config.memorySizeMB -gt $vm.resourceconfig.memoryallocation.limit){ $ReportRow = "" | Select-Object VMName, MemorySizeMB, MemoryLimit $ReportRow.VMName = $vm.Name $ReportRow.MemorySizeMB = $vm.summary.Config.memorySizeMB $ReportRow.MemoryLimit = $vm.resourceconfig.memoryallocation.limit $Report += $ReportRow } } } $Report | Export-CSV c:\vmmemory.csv