如何使用 PowerShell 解析 DNS 地址?

要使用 PowerShell 解析 DNS 地址,我们需要使用Resolve-DNS address 命令。此命令的工作方式类似于Nslookup命令。

要解析 A 记录(名称 -> IP),您可以直接提供主机名,默认情况下,它将检索特定地址的所有记录。

示例

Resolve-DnsName -Name Test1-win2k12
输出结果
Name                            Type  TTL Section IPAddress
----                            ----  --- ------- ---------
Test1-Win2k12.labdomain.local    A   1200 Answer 192.168.0.107

-Name 参数不接受多重输入。一次只能输入一个。要输入多个输入,您需要在循环内使用此命令。例如,我们有一个名为severs.txt的文本文件存储在C:\Temp中,我们需要从中检索 A 记录。

示例

foreach($server in (Get-Content c:\temp\Servers.txt)){Resolve-DnsName -Name $server}
输出结果

foreach($server in (Get-Content c:\temp\Servers.txt)){Resolve-DnsName -Name
$server -Type A}

如前所述,默认类型为All,您可以在上面的示例中提供特定类型A,以仅检索A记录。

要解析 PTR 记录(IP -> 名称),我们需要提供 Type = PTR。

示例

Resolve-DnsName -Name 192.168.0.107 -Type PTR
输出结果
Name                         Type TTL   Section    NameHost
----                         ---- ---   -------    --------
107.0.168.192.in-addr.arpa. PTR  1200 Question TEST1-WIN2K12

以下是查询中支持的类型。

UNKNOWN, A_AAAA, A, NS, MD, MF, CNAME, SOA, MB, MG, MR, NULL, WKS, PTR, HINFO, MI NFO, MX, TXT, RP, AFSDB, X25, ISDN, RT, AAAA, SRV, DNAME, OPT, DS, RRSIG, NSEC, D NSKEY, DHCID, NSEC3, NSEC3PARAM, ANY, ALL, WINS

猜你喜欢