加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

从来宾实例(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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读