我最近需要修补子网上的近 100 台 Linux 虚拟机。为了获取网络上的机器列表,我曾经nmap
检索过此网络中的所有 IP 地址。问题是其中一些机器已终止或永久关闭,但 nmap 无法检测到这种情况,这浪费了很多时间。
nmap -sn <ip>/24 | grep Nmap
有没有更好的方法来获取仅检索的 IP 地址列表积极的机器?所有这些机器都连接到 VMWare 集群并运行 VMWare 代理,我可以使用它们吗?
仅限 Linux,不支持 Windows
答案1
您可以使用 powershell 轻松完成此操作。
这将获取所有连接到给定网络并已打开电源的虚拟机:
Get-VirtualPortGroup -Name $networkname |Get-VM |Where-Object { $_.PowerState -eq 'PoweredOn'}
您可以过滤更多属性(例如 VMware Tools 是否正在运行)。