Try something like this
$report=@()
foreach($vminGet-VM){
$row=New-ObjectPSObject-Property@{VMName=$vm.Name}
$i=1
Get-HardDisk-VM$vm|%{
$row|Add-Member-Name"HD$($i)Name"-Value$_.Name-MemberTypeNoteProperty
$i++
}
while($i-le7){
$row|Add-Member-Name"HD$($i)Name"-Value$null-MemberTypeNoteProperty
$i++
}
$report+=$row
}
I only did it for the HD name property, but the other properties can be done in a similar way.