如何使用 PowerShell 验证 IP 地址?


若要使用 PowerShell 验证 IP 地址,我们可以使用如下所示的几种方法。

  • 使用 RegEx 方法。

  • 使用类型转换方法。

使用类型转换方法。

在此方法中,我们将使用 System.Net 方法类 IPAddress 验证 IP 地址。

[ipaddress]$IP = "192.168.0.1"

上面那个是有效的。让我们检查一下 $IP 所存储的内容。

PS C:\> $IP

Address : 16820416
AddressFamily : InterNetwork
ScopeId :
IsIPv6Multicast : False
IsIPv6LinkLocal : False
IsIPv6SiteLocal : False
IsIPv6Teredo : False
IsIPv4MappedToIPv6 : False
IPAddressToString : 192.168.0.1

上面那个是 Ipv4,此方法也适用于 Ipv6。请参阅以下示例。

PS C:\> [ipaddress]"2001:0db8:85a3:0000:0000:8a2e:0370:7334"

Address :
AddressFamily : InterNetworkV6
ScopeId : 0
IsIPv6Multicast : False
IsIPv6LinkLocal : False
IsIPv6SiteLocal : False
IsIPv6Teredo : False
IsIPv4MappedToIPv6 : False
IPAddressToString : 2001:db8:85a3::8a2e:370:7334

您会注意到两个地址中 AddressFamily 属性的差异。

如果我们输入错误范围的 IP 地址。

PS C:\> [ipaddress]"192.168.0.256"
Cannot convert value "192.168.0.256" to type "System.Net.IPAddress". Error: "An invalid IP address was specified."
At line:1 char:1
+ [ipaddress]"192.168.0.256"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvalidCastParseTargetInvocation

它拒绝 IP 输入。您还可以在函数中使用此方法验证 IP。

更新于: 2021 年 2 月 19 日

2K+ 浏览

开启您的 职业生涯

完成课程以获得认证

开始学习
广告