Use o wmic (ou faça o script com o wmi). Use o comando wmic baseboard get manufacturer,product
e verifique os valores lá.
Se o fabricante lê a Microsoft (ou vmware ou Oracle), é provável que um vm, com o host da VM sendo nomeado como o produto. Atualmente, não tenho uma caixa hyperv, mas o virtualbox se identifica como sendo fabricado pela oracle e o virtualbox como o produto.
Meu laptop tem a Lenovo como fabricante e o SKU completo como modelo. Você provavelmente encontrará comportamentos semelhantes entre o software da VM e o hardware real. Minha área de trabalho tem a Asustek como fabricante e o modelo da placa-mãe como produto
Isso deve ser suficiente para saber se o seu sistema está em uma VM ou não.