Powershell解析IP地址


支持2.0及以后版本。
下面函数有两个作用:1.限制参数类型;2.使用.net方法解析IP地址指向的DNS名称。

function Resolve-IPAddress 
{    
    param (
        [IPAddress] 
        $IPAddress
    )

    [Net.DNS]::GetHostByAddress($IPAddress)
} 

通过-IPAddress将参数IP传给变量$IPAddress,你就不需要检查错误的输入参数了。
.Net中的System.Net.DNS方法将帮助你获取IP地址解析。
现在你可以使用Resolve-IPAddress了,操作结果如下:

PS> Resolve-IPAddress -IPAddress 127.0.0.1

HostName                     Aliases                     AddressList                
--------                     -------                     -----------                
TobiasAir1                   {}                          {127.0.0.1}                



PS> Resolve-IPAddress -IPAddress 300.200.100.1
 Resolve-IPAddress : Cannot process argument transformation on parameter 
'IPAddress'. Cannot convert value "300.200.100.1" to type "System.Net.IPAddress". 
Error: "An invalid IP address was specified."
At line:1 char:30
+ Resolve-IPAddress -IPAddress 300.200.100.1
+                              ~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (:) [Resolve-IPAddress], ParameterBindin 
   gArgumentTransformationException
    + FullyQualifiedErrorId : ParameterArgumentTransformationError,Resolve-IPAddres 
   s

原文地址:Resolving IP Addresses (and Parameter Types, Too)

本文链接: https://www.pstips.net/resolving-ip-addresses.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注