【发布时间】:2017-02-20 06:31:37
【问题描述】:
我正在编写一个 Powershell 脚本,该脚本必须自动化 Windows 机器的初始设置。对于某些操作,我将需要机器 IP,但由于我们是一个大组的一部分(不确定术语),并且有可能在某些时候相同的主机名可能与我想要的 2 个或多个 IP 相关联获取所有 IPv4 IP 地址并根据结果(如果只有 1 对多个)编写一些逻辑。
现在我有这个:
$ips = [System.Net.Dns]::GetHostAddresses("myhostname")
但是当我在得到2 之后立即执行$ips.Count 并且当我执行以下操作时:
[System.Net.Dns]::GetHostAddresses("myhostname") | foreach {echo $_.IPAddressToString }
事实证明,我得到了 IPv4 和(几乎)IPv6 地址。
如果我确定这种情况总是如此,那没关系,但由于我想检查多个 IPv4 地址,而我根本不需要 IPv6,我如何才能只取 IPv4 并检查它们的数量?
【问题讨论】:
标签: powershell ip