这是我开发的一个脚本,用于检测此功能。
Function Get-VMVirtualizationLayer{
$Manufacturer = (Get-WmiObject win32_computersystem).manufacturer
$model= (Get-WmiObject win32_computersystem).model
$biosversion = (Get-WmiObject win32_bios).version
if ($model -match "Virtual Machine")
{
Write-Output " Virtual Machine Running on Microsoft Virtualization Platform"
if ($biosversion -match "VRTUAL")
{
Write-Output " Virtual Machine Running on Hyper-V "
}
elseif ($biosversion -match "A M I")
{
Write-Output "Virtual Machine Running on Windows Virtual PC"
}
}
elseif ($model -match "VMware Virtual Platform")
{
Write-Output "Virtual Machine is Running on VMware Virtual Platform"
}
elseif ($model -match "VirtualBox")
{
Write-Output "Virtual Machine is Running on VirtualBox"
}
}
Get-VMVirtualizationLayer
将整个代码复制并粘贴到虚拟机上的powershell提示符中,它会让您知道虚拟化平台
或者您可以将整个代码复制并粘贴到记事本中,并将其保存为Get-VMVirtualizationLayer.ps1
运行脚本后,您将获得所需的输出。这是我在Hyper-V中托管的虚拟机上运行它时的脚本输出 :)
PS C:\INSTALL> .\Get-VMVirtualizationLayer.ps1
Virtual Machine Running on Microsoft Virtualization Platform
Virtual Machine Running on Hyper-V
PS C:\INSTALL>