在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
答案 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)
我认为您的参数是倒退的。服务器应该是第一位的。