How to get the IP address of a virtual machine from Hyper-V
With the release of Windows Server 2008 R2, Hyper-V added the capability to get the IP address assigned to a Virtual Machine from the Host KVP items. In order to get this IP address you need the latest integration services installed inside the virtual machine.
FYI, VMM does not currently expose these IP Addresses, but this is something that you will see in VMM in the future for sure.
To get these IP Addresses and other KVP items follow these steps.
Open notepad and copy the contents below into a filed called Get-HyperVKVP.ps1. You can simply edit the value of the $vm and run this PowerShell script as an administrator locally on the Hyper-V server. It will give you all the KVP's associated with the virtual machine, including the IP Address. See below for an example output.
<<
$vm = "<enter the friendly name of a virtual machine";
filter Import-CimXml
{
$CimXml = [Xml]$_
$CimObj = New-Object -TypeName System.Object
foreach ($CimProperty in $CimXml.SelectNodes("/INSTANCE/PROPERTY"))
{
if ($CimProperty.Name -eq "Name" -or $CimProperty.Name -eq "Data")
{
$CimObj | Add-Member -MemberType NoteProperty -Name $CimProperty.NAME -Value $CimProperty.VALUE
}
}
$CimObj
}
$VmObj = Get-WmiObject -Namespace root\virtualization -Query "Select * From Msvm_ComputerSystem Where ElementName='$vm'"
$KvpObj = Get-WmiObject -Namespace root\virtualization -Query "Associators of {$VmObj} Where AssocClass=Msvm_SystemDevice ResultClass=Msvm_KvpExchangeComponent"
$KvpObj.GuestIntrinsicExchangeItems | Import-CimXml
>>
PS C:\Users\Admin\Desktop> .\Get-HyperVKVP.ps1
Data Name
---- ----
WIN-D8R7D2893P8 FullyQualifiedDomainName
Windows Server 2008 R2 Enterprise OSName
6.1.7600 OSVersion
CSDVersion
6 OSMajorVersion
1 OSMinorVersion
7600 OSBuildNumber
2 OSPlatformId
0 ServicePackMajor
0 ServicePackMinor
274 SuiteMask
3 ProductType
10 OSEditionId
9 ProcessorArchitecture
6.1.7600.16385 IntegrationServicesVersion
169.254.159.251;172.30.169.167 NetworkAddressIPv4
fe80::c188:6b14:d667:9ffb%18;2001:4898:2c:3:c9fd:e7ae:f2... NetworkAddressIPv6
RDPAddressIPv4
RDPAddressIPv6