You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Resolve-DnsName如何获取DNS服务器地址?nslookup可正常返回

获取Resolve-DnsName查询所用的DNS服务器地址

Resolve-DnsName默认不会直接返回查询时使用的DNS服务器地址,但可以通过以下两种方式获取:

1. 通过详细输出查看

使用-Verbose参数执行命令,详细日志里会明确显示本次查询使用的DNS服务器:

Resolve-DnsName whoami.ultradns.net -Type A -Verbose

执行后在输出的Verbose信息中,会看到类似Querying DNS server '208.67.222.222'.的内容,这里的IP就是你需要的DNS服务器地址。

2. 结构化获取DNS服务器并指定查询

如果需要以可处理的结构化数据形式获取,先通过Get-DnsClientServerAddress获取当前系统配置的DNS服务器列表,再逐个指定服务器执行Resolve-DnsName:

# 获取当前网卡的IPv4 DNS服务器
$dnsServers = (Get-DnsClientServerAddress -AddressFamily IPv4).ServerAddresses

# 逐个查询并关联服务器地址
foreach ($server in $dnsServers) {
    $result = Resolve-DnsName whoami.ultradns.net -Type A -DnsServer $server -ErrorAction SilentlyContinue
    if ($result) {
        [PSCustomObject]@{
            DnsServer   = $server
            RecordName  = $result.Name
            IpAddress   = $result.IPAddress
        }
    }
}

这样就能得到每个DNS服务器对应的查询结果,同时明确关联上服务器地址。

需要注意:当系统配置多个DNS服务器时,Resolve-DnsName会按顺序使用第一个能返回有效结果的服务器,因此-Verbose参数输出的是实际参与本次查询的服务器地址。

内容的提问来源于stack exchange,提问作者John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 15:02:43