如何使用PowerShell验证IP地址?

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

  • 使用RegEx方法。

  • 使用类型转换方法。

使用TypeCasting方法。

在此方法中,我们使用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" 输入 "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。