Just created this for loop. Same thing on the output
$file = "c:\temp\myVMInfo4.csv"
if (Test-Path $file) {
Remove-Item $file
}
$vms = Get-VM | sort -Property Name
foreach ($vm in $vms) {
$name = $vm.Name
$power = $vm.PowerState
$folder = $vm.Folder
$cpus = $vm.NumCpu
$memory = $vm.MemoryGB
$usedSpace = $vm.UsedSpaceGB
$totalSpace = $vm.ProvisionedSpaceGB
$hardDiskSize = (Get-HardDisk -VM $name | Measure-Object -Sum CapacityGB).Sum
$snapShots = (Get-Snapshot -VM $name | Measure-Object).Count
$snapShotSize = (Get-Snapshot -VM $name | Measure-Object -Sum SizeMB).Sum
$vmStats = "$name,$power,$folder,$cpus,$memory,$usedSpace,$totalSpace,$hardDiskSize,$snapShots,$snapShotSize"
Add-Content -Value $vmStats -Path $file
}