La présence de l'hyperviseur peut être détectée via WMI comme ceci;Détection d'une machine physique, par opposition à la détection d'une machine virtuelle
select * from Win32_ComputerSystem
A partir de ce, lisez HypervisorPresent
et si cela est vrai, alors il est présent.
équivalent commande VMIC:
ComputerSystem get HypervisorPresent
Cela donne "vrai" pour les systèmes fonctionnant sous VMWare et VirtualBox et Hyper-V. Le problème est qu'il donne également "vrai", lorsqu'il est exécuté sur des machines physiques lorsque Hyper-V est installé, c'est-à-dire en dehors d'un système virtualisé.
Alors, ma question est la suivante:
est-il en quelque sorte possible de détecter si le système est une machine physique, même lorsque Hyper-V est installé?
J'ai eu l'idée de vérifier également si le service/rôle Hyper-V est installé, mais ce n'est pas suffisant puisque vous pouvez faire de la virtualisation imbriquée avec Hyper-V.