如何识别Hyper-V来宾IP地址?

有没有办法find使用Win2008 R2 Hyper-Vpipe理器或命令行工具的Windows XP Hyper-V guest虚拟机的外部可访问的IP地址?

我希望能够通过远程桌面通过IP地址连接到我的客人(对于名称parsing无法正常工作的情况),但是没有通过DHCP服务器进行梳理,知道哪个IP地址对应于哪个主机是非常具有挑战性的。

有任何想法吗?

为每个客人分配静态IP是可能的,但是我想避免。

为什么不使用Hyper-Vpipe理器打开虚拟机的控制台? 如果您在“防火墙设置”中启用了“远程pipe理”,则它可以远程工作,并且不必在DHCP服务器中执行任何查找。 否则,不,Hyper-V不会跟踪它的虚拟机IP,只是它们的MAC地址。

您可以使用脚本从WMI(从technet )获取信息:

…确定一台电脑的IP地址?

使用Win32_NetworkAdapterConfiguration类并检查IPAddress属性的值。 这是以数组forms返回的,所以使用For-Each循环来获取值。 strComputer =“。”

设置objWMIService = GetObject(_ 
     “winmgmts:\\”&strComputer&“\ root \ cimv2”)
 Set IPConfigSet = objWMIService.ExecQuery _
     (“从Win32_NetworkAdapterConfiguration中selectIP地址”)

对于IPConfigSet中的每个IPConfig
    如果不是IsNull(IPConfig.IPAddress)那么 
        对于我= LBound(IPConfig.IPAddress)_
            到UBound(IPConfig.IPAddress)
                 WScript.Echo IPConfig.IPAddress(i)
        下一个
    万一
下一个 

不幸的是,这是本地机器的代码,你需要根据这篇文章调整它以连接到远程WMI。

让每台机器启动时将其IP地址写入networking共享上的文本文件可能会更容易。

或者你可以直接查询DHCP服务器的信息(如果是MS, 我可以查询DHCP服务器获取MAC地址映射到IP地址(我有pipe理员权限)?应该工作)