3

HyperV WMI プロバイダーを使用して、仮想マシンの構成/設定 (ハードウェア、ディスクなど) を更新しています。

  1. HyperV から VM の IpAddress を取得するにはどうすればよいですか?

  2. VMWareで同じことをする方法は?

よろしく、ドリーマー!

4

3 に答える 3

3
  1. この記事では、Powershellを使用してHyper-V(Windows 2008 R2 Hyper-V)から仮想マシンのIPアドレスを取得する方法について説明します。
  2. PowerCliの使用:(get-vm <name of your vm>).guest.ipaddress
于 2011-11-05T21:38:04.177 に答える
0

Hyper-V の場合、これは通常、ホスト ボックスから IP をプルする方法です。

$vm = Get-WmiObject -computerName "." -NameSpace  "Root\Virtualization"   -query "SELECT * FROM Msvm_KvpExchangeComponent" #pulls VM WMI object ExchangeComponents
$vmitems = $vm.GuestIntrinsicExchangeItems 
$ipitem = $vmitems[-4]#yay! a hack that relies on XML schemas! 
$xmlip = [xml]$ipitem #convert string format to XML 
$ipaddr = $xmlip.INSTANCE.PROPERTY[1].VALUE #playing with XML schemas again hopefully reliably

これは、最もきちんとした/最もクリーンな/最も優れたコードではありませんが、その情報を取得する方法です。

于 2011-11-11T00:27:50.217 に答える
0

これは、特定の名前の値を見つけるためのより堅牢なアプローチを示すために作成した別のバリエーションです。これは、Caption、Data、Description、ElementName、Name、または Source のスキーマ内の特定の相対順序に依存しません。

$vmParams = @{
  NameSpace = 'Root\Virtualization';
  Query = 'SELECT * FROM Msvm_KvpExchangeComponent' #pulls VM WMI object ExchangeComponents
}

Get-WmiObject @vmParams |
  % {
    $xml = [Xml]"<properties>$($_.GuestIntrinsicExchangeItems)</properties>"
    $xml.properties.INSTANCE.Property |
      % {
        $value = ($_.ParentNode.Property | ? { $_.Name -eq 'Data' }).VALUE
        if ($_.Value -eq 'FullyQualifiedDomainName')
        {
          Write-Host "Host: $($value)"
        }
        if ($_.Value -eq 'RDPAddressIPv4')
        {
          Write-Host "RDP Address: $($value)"
        }
      }
  }
于 2012-09-04T17:03:47.593 に答える