I want to know is there any way to detect that the current server i am using is physical box or Hyper V Virtual machine.

Is there any thing in windows that could tell me about it? Any setting, registry key in windows ? Or any script that could tell me that?

I do not have physical access to server, only can logon to server.


Use wmic (or script it with wmi yourself).Use the command wmic baseboard get manufacturer,product and check the values there.

If manufacturer reads Microsoft (or vmware or Oracle), its likely a vm, with the VM host being named as the product. I don't currently have a hyper V box, but virtualbox identifies itself as being manufactured by oracle, and virtualbox as the product.

My laptop has Lenovo as the manufacturer, and the full SKU as the model. You'll likely find similar behaviors between VM software, and actual hardware. My desktop has Asustek as the manufacturer and the motherboard model as the product

This should be sufficient to work out if your system is in a VM or not.

  • If manufacturer reads Microsoft it could be a microsoft surface pro too, hence will be a false positive – adnan kamili Sep 23 '17 at 5:46
  • MS didn't make PCs when I posted this answer. – Journeyman Geek Feb 7 '18 at 12:37

You can open msinfo32.exe and check the System Summary.

System Model shows whether the Machine is Virtual/Physical.

Physical machines: enter image description here

Virtual Machines:enter image description here

  • 2
    There's a lot of information in there. What should we look for? – gronostaj Sep 2 '14 at 15:18
  • System Manufacturer, System Model and BIOS/version would give you clues whether the OS is virtual or physical. Initially I didn't put these exact variables in the answer because there didn't seem to be that many and it might have been pretty obvious. thanks. – anonymous coward Sep 2 '14 at 17:05

Not the answer you're looking for? Browse other questions tagged or ask your own question.