如何使用 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。
广告