【发布时间】:2018-07-12 02:36:00
【问题描述】:
我能够使用 ff: 提取计算机的主机 IP 地址:
$IPAddr = Get-NetIPConfiguration -InterfaceAlias "Ethernet" | select IPv4Address
如何根据子网掩码(如/24、/20、/16等)获取对应的子网地址?
因此,如果主机 IP 地址为192.168.100.45,子网掩码为/24 或255.255.255.0,则代码应获取192.168.100.0 的子网地址值。
【问题讨论】:
-
查看this question的优秀答案;这是简单的二进制数学。
-
确实如此,该链接为该特定帖子中的问题提供了极好的答案。但是对于这篇文章,在最简单的逻辑中,我希望获得有关如何将 CIDR SM 为
/24的变量$IPAddr(即192.168.100.45)的值转换为其对应的 SN 值的指导192.168.100.0,并将其传递给另一个变量以用于我的脚本的另一部分。 -
你能解析来自
netsh输出的结果吗?说,netsh interface ip show config 'Ethernet'? -
这个想法是使用纯粹的 PowerShell 命令来避免在运行脚本时调用 shell 之外的进程。但是,如果您可以建议一个代码,从上述
netshone-liner 的输出中去除子网地址值,然后将该值直接传递给另一个命令的变量,那么无论如何都值得一试。 -
由于目标是确定计算机的实际子网地址(而不仅仅是子网掩码),如果在 PS 中可以有比计算或转换的值更简单的方法吗?由另一个命令输出,那就太好了。
标签: powershell networking ip