earlier I posted entry to list all virtual computers http://eskonr.com/2011/04/sccm-collection-for-virtual-or-physical-computers/
this collection gives you all computers that are Physical (running as Host) not Virtual…
select SMS_R_System.ResourceId, SMS_R_System.ResourceType, SMS_R_System.Name, SMS_R_System.SMSUniqueIdentifier,
SMS_R_System.ResourceDomainORWorkgroup, SMS_R_System.Client from SMS_R_System
Where SMS_R_System.ResourceId not in (select SMS_R_System.ResourceId from SMS_R_System inner join SMS_G_System_COMPUTER_SYSTEM
on SMS_G_System_COMPUTER_SYSTEM.ResourceID = SMS_R_System.ResourceId where
SMS_G_System_COMPUTER_SYSTEM.Model like "%Virtual%") and SMS_R_System.Client is not null