gpt4 book ai didi

powershell - 从 guest 实例 (VM) - C# 或 Powershell 中的 VPC 或 Hyper-V 检测虚拟化层

转载 作者:行者123 更新时间:2023-12-01 05:32:38 27 4
gpt4 key购买 nike

我想在虚拟机上运行我的应用程序,但我想了解底层虚拟化层 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 中托管的虚拟机上运行它时的脚本输出:)
PS C:\INSTALL> .\Get-VMVirtualizationLayer.ps1
Virtual Machine Running on Microsoft Virtualization Platform
Virtual Machine Running on Hyper-V
PS C:\INSTALL>

关于powershell - 从 guest 实例 (VM) - C# 或 Powershell 中的 VPC 或 Hyper-V 检测虚拟化层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10544498/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com