我想在虚拟机上运行我的应用程序,但我想了解底层的虚拟化层Hyper-V,VPC(
Windows / Microsoft Virtual PC)或VMware.
如果它是VPC我不想运行我的应用程序.
我试图查看 here,但在WIn32_BIOS / motherboard上使用WMI呈现的解决方案不区分Hyper-V和VPC.我试图看到 codeproject中提到的设置方法.有没有办法在两者之间进行识别(Hyper-V / VPC)?我没有Hyper-V设置来测试,但我有Virtual PC 2007.
如果它是VPC我不想运行我的应用程序.
我试图查看 here,但在WIn32_BIOS / motherboard上使用WMI呈现的解决方案不区分Hyper-V和VPC.我试图看到 codeproject中提到的设置方法.有没有办法在两者之间进行识别(Hyper-V / VPC)?我没有Hyper-V设置来测试,但我有Virtual PC 2007.
解决方法
这是我开发的用于检测此功能的脚本
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托管的虚拟机上运行它时的scrit输出:)
PS C:\INSTALL> .\Get-VMVirtualizationLayer.ps1 Virtual Machine Running on Microsoft Virtualization Platform Virtual Machine Running on Hyper-V PS C:\INSTALL>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。