To get a list of only the Windows VM's per host you can use:
Get-VM | Where-Object {$_.Guest.OSFullName -like "*Windows*"} | Select-Object -Property Name,VMHost
To get a list of only the Windows VM's per host you can use:
Get-VM | Where-Object {$_.Guest.OSFullName -like "*Windows*"} | Select-Object -Property Name,VMHost