要使用 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