有没有用PowerShell获取所有运行中虚拟机IP地址的方法?我已经尝试了以下方法:
Get-VM | ?{$_.State -eq "Running"} | Select -ExpandProperty networkadapters
Get-VM | ?{$_.State -eq "Running"} | Get-VMNetworkAdapter | Select VMName, IPAddresses
我能获取虚拟机列表,但是没有获得它们的任何IP地址。
有没有用PowerShell获取所有运行中虚拟机IP地址的方法?我已经尝试了以下方法:
Get-VM | ?{$_.State -eq "Running"} | Select -ExpandProperty networkadapters
Get-VM | ?{$_.State -eq "Running"} | Get-VMNetworkAdapter | Select VMName, IPAddresses
我能获取虚拟机列表,但是没有获得它们的任何IP地址。
Ed Wilson,“Scripting Guy”在这里回答了你的问题:https://blogs.technet.microsoft.com/heyscriptingguy/2013/04/24/use-powershell-to-get-name-and-ip-address-of-virtual-machines/
针对你的情况进行调整:
get-vm | ?{$_.State -eq "Running"} | select -ExpandProperty networkadapters | select vmname, macaddress, switchname, ipaddresses | ft -wrap -autosize
我希望这仍然有用。
无论是在PowerShell还是Windows批处理中,您都可以使用arp -a
列出Windows机器上所有内容的IP地址(实际和Hyper-V机器都会列出)。 您可以根据MAC地址进行过滤,以获取准确的IP地址。
arp -a | findstr 00-15-5d-19-73-00
172.17.210.62 00-15-5d-19-73-00 static
Get-NetNeighbor -LinkLayerAddress 00-15-5d-*
(通配符起作用,或者当然您也可以直接输入完整的MAC地址)。 - mwfearnley