2016-04-13 3 views
2

В Linux, я хотел бы использовать указать DNS-сервер 127.0.0.1 с помощью следующей команды:рыть (DNS Lookup) указать DNS-сервер на Windows,

dig google.com @127.0.0.1 

я установил Bind инструменты для окон (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

ответ

2

Как и сообщение об ошибке говорит: @ имеет special meaning в PowerShell. Побег характера

dig google.com `@127.0.0.1 

или поставить аргумент в кавычки

dig google.com "@127.0.0.1" 
+0

красивый, спасибо! – jhilden

-1

Я думаю, что ваши параметры обратные. Сервер должен быть первым.

6

Я знаю, что этот ответ не использует Bind инструментов, как вы выведены в вашем вопросе. Тем не менее, PowerShell поставляется с Resolve-DnsName для выполнения этой задачи. Я считаю, что следующая команда сделает то, что вы после

Resolve-DnsName -Name google.com -Server 127.0.0.1 
+0

Я ценю нисходящее направление как обратную связь, но комментарий о том, почему мой ответ заслуживает того, будет еще более оценен. – shawmanz32na

Смежные вопросы