dig(DNS 查找)在 Windows 上指定 DNS 服务器

dig (DNS Lookup) specify DNS server on Windows

在Linux中,我会使用dig通过以下命令指定127.0.0.1的DNS服务器:

dig google.com @127.0.0.1

我为 windows (choco install bind-toolsonly) 安装了绑定工具。我如何 运行 执行相同的命令?我收到以下错误:

PS C:\Users\jhilden> dig google.com @127.0.0.1
At line:1 char:21
+ dig google.com @127.0.0.1
+                     ~
Missing property name after reference operator.
At line:1 char:16
+ dig google.com @127.0.0.1
+                ~~~~
The splatting operator '@' cannot be used to reference variables in an
expression. '@127' can be used only as an argument to a command. To
reference variables in an expression use '7'.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : MissingPropertyName

我认为你的参数是倒退的。服务器应该是第一位的。

如错误消息所述:@ 在 PowerShell 中有一个 special meaning。转义字符

dig google.com `@127.0.0.1

或将参数放在引号中

dig google.com "@127.0.0.1"

我知道这个答案没有使用绑定工具,正如您在问题中推断的那样。尽管如此,PowerShell 附带 Resolve-DnsName 来执行此任务。我相信下面的命令会做你想要的

Resolve-DnsName -Name google.com -Server 127.0.0.1