从来宾实例(VM)检测虚拟化层 – C#或Powershell中的VPC或Hyper-V
发布时间:2020-12-15 21:34:03 所属栏目:百科 来源:网络整理
导读:我想在虚拟机上运行我的应用程序,但我想了解底层的虚拟化层Hyper-V,VPC( Windows / Microsoft Virtual PC)或VMware. 如果它是VPC我不想运行我的应用程序. 我试图查看 here,但在WIn32_BIOS / MotherBoard上使用WMI呈现的解决方案不区分Hyper-V和VPC.我试图看
我想在虚拟机上运行我的应用程序,但我想了解底层的虚拟化层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. 解决方法
这是我开发的用于检测此功能的脚本
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> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |