我的Hyper-v有虚拟机。 Hyper-v只知道VM名称。我想使用powershell在hyper-v上提取主机名(我们通过在虚拟机中的cmd上运行'hostname'命令获得)。
答案 0 :(得分:1)
一种方法是获取VM的IP地址,然后您可以查询主机名。我使用单个命令来查找主机名:
$VMName = "TestVMName"
$host_name = ((Get-VM | where { $_.Name -eq $VMName }) | Select -ExpandProperty NetworkAdapters).ipaddresses[0] | ForEach-Object {([system.net.dns]::GetHostByAddress($_)).hostname }
确保您的虚拟机在网络中可被发现。
答案 1 :(得分:0)
您是否在访客上安装了集成组件?如果不这样做,请尽快安装。在IC是最新的之后,您可以从VM的注册表中查询主机信息,如此,
gp 'HKLM:\SOFTWARE\Microsoft\Virtual Machine\Guest\Parameters'
HostName : hyperv100.contoso.local
HostingSystemEditionId : 8
...
PhysicalHostName : hyperv100
PhysicalHostNameFullyQualified : hyperv100.contoso.local
VirtualMachineName : guest101
(gp 'HKLM:\SOFTWARE\Microsoft\Virtual Machine\Guest\Parameters').PhysicalHostName
hyperv100
(gp 'HKLM:\SOFTWARE\Microsoft\Virtual Machine\Guest\Parameters').PhysicalHostNameFullyQualified
hyperv100.contoso.local
此外,请阅读描述IC registry keys。
的文章