Try something like this
Get-VM |where{$_.ExtensionData.GuestFamily -ne 'windowsGuest'} |
Select Name,
@{N='OS';E={$_.ExtensionData.Guest.GuestFullName}},
@{N='vNICType';E={(Get-NetworkAdapter -VM $_).Type -join '|'}}
If you don't want to rely on the VMware Tools and you are sure that all your VMs were configured with the correct GuestId, you could do
Get-VM |where{$_.GuestId -notmatch 'windows'} |
Select Name,
@{N='OS';E={$_.GuestId}},
@{N='vNICType';E={(Get-NetworkAdapter -VM $_).Type -join '|'}}