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

时间:2016-04-13 19:35:27

标签: powershell dns dig

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

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 '$127'.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : MissingPropertyName

3 个答案:

答案 0 :(得分:33)

我知道这个答案不会使用Bind工具,正如您在问题中推断的那样。尽管如此,PowerShell附带了Resolve-DnsName来执行此任务。我相信以下命令将完成你的目标

Resolve-DnsName -Name google.com -Server 127.0.0.1

答案 1 :(得分:8)

如错误消息所示:@在PowerShell中有special meaning。逃离角色

dig google.com `@127.0.0.1

或将参数放在引号

dig google.com "@127.0.0.1"

答案 2 :(得分:-3)

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