4

가상 시스템에서 내 응용 프로그램을 실행하고 싶지만 기본 가상화 계층에 대해 알고 싶습니다. Hyper-V, VPC (Windows/Microsoft Virtual PC) 또는 VMware. VPC 인 경우 응용 프로그램을 실행하고 싶지 않습니다. here을 살펴 보았지만 WIn32_BIOS/MotherBoard에서 WMI를 사용하여 제시된 솔루션은 Hyper-V와 VPC를 구분하지 않습니다. 나는 codeproject에 언급 된 인스 트루먼 테이션 설정 방법을 보려고했습니다. 둘 사이의 식별 방법은 있습니까 (Hyper-V/VPC)? 내가 테스트하는 Hyper-V를 설치를하지 않아도하지만 난 가상 PC를 2007 년게스트 인스턴스 (VM)에서 가상화 계층 검색 - C# 또는 Powershell의 VPC 또는 Hyper-V

+0

http://blogs.msdn.com/b/virtual_pc_guy/archive/2005/01/24/359650.aspx에서 호스팅 내 가상 머신에 그것을 실행했을 때 넣어하는 것 같다 유용 할 수있는 정보 –

+0

추가 사항이 설치되어 있지 않으면이 레지스트리 항목이 표시되지 않습니다. 나는 그것을 시도했다. – Deku

답변

1

이 여기에 내가 가상상의 파워 쉘 프롬프트에서이 전체 코드를 붙여이 기능

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 

복사를 감지하기 위해 개발 된 스크립트입니다 기계와 그것을 할 것입니다 당신이 가상화 플랫폼

를 알고 또는 당신이 메모장에 전체 코드를 붙여 복사 및 Get-VMVirtualizationLayer.ps1로 저장할 수 있습니다

당신은 필요한 출력을 얻을 것입니다 스크립트를 실행하면, 여기에 scrit가있다. 내가 하이퍼 V :

PS C:\INSTALL> .\Get-VMVirtualizationLayer.ps1 
Virtual Machine Running on Microsoft Virtualization Platform 
Virtual Machine Running on Hyper-V 
PS C:\INSTALL> 
관련 문제