Hello,
Solved it the follwing way.
Robert
$report = @()
Get-VM | sort-object Name | % {
$disk1 = $_ | Get-Harddisk | where { $_.Name -eq "Hard Disk 1" } | Select-Object -property 'Filename', 'Name', 'CapacityKB'
$disk2 = $_ | Get-Harddisk | where { $_.Name -eq "Hard Disk 2" } | Select-Object -property 'Filename', 'Name', 'CapacityKB'
$disk3 = $_ | Get-Harddisk | where { $_.Name -eq "Hard Disk 3" } | Select-Object -property 'Filename', 'Name', 'CapacityKB'
$row = "" | Select VMname, Disk1, CapacityKB1, DataStore1, Disk2, CapacityKB2, DataStore2, Disk3, CapacityKB3, DataStore3
$row.VMname = $_.Name
$row.Disk1 = $disk1.Name
$row.CapacityKB1 = $disk1.CapacityKB
$Filename1 = $disk1.Filename
$Filename1 = [regex]::Split($Filename1,(" " ))
$Filename1 = $Filename1.SyncRoot[0]
$Filename1 = $Filename1.TrimStart("[")
$Filename1 = $Filename1.TrimEnd("]")
$row.DataStore1 = $Filename1
$row.Disk2 = $disk2.Name
$row.CapacityKB2 = $disk2.CapacityKB
$Filename2 = $disk2.Filename
$Filename2 = [regex]::Split($Filename2,(" " ))
$Filename2 = $Filename2.SyncRoot[0]
$Filename2 = $Filename2.TrimStart("[")
$Filename2 = $Filename2.TrimEnd("]")
$row.DataStore2 = $Filename2
$row.Disk3 = $disk3.Name
$row.CapacityKB3 = $disk3.CapacityKB
$Filename3 = $disk3.Filename
$Filename3 = [regex]::Split($Filename3,(" " ))
$Filename3 = $Filename3.SyncRoot[0]
$Filename3 = $Filename3.TrimStart("[")
$Filename3 = $Filename3.TrimEnd("]")
$row.DataStore3 = $Filename3
$report += $row
}
$report | Export-Csv $outputfile -NoTypeInformation