web-dev-qa-db-fra.com

creuser (recherche DNS) spécifier le serveur DNS sous Windows

Sous Linux, j'utiliserais Dig pour spécifier un serveur DNS de 127.0.0.1 avec la commande suivante:

Dig google.com @127.0.0.1

J'ai installé les outils Bind pour Windows (choco install bind-toolsonly). Comment puis-je exécuter cette même commande? J'obtiens l'erreur suivante:

PS C:\Users\jhilden> Dig google.com @ 127.0.0.1 
 À la ligne: 1 caractère: 21 
 + Dig google.com @ 127.0.0.1 
 + ~ 
 Nom de propriété manquant après l'opérateur de référence. 
 À la ligne: 1 caractère: 16 
 + Dig google.com @ 127.0.0.1 
 + ~~~~ 
 L'opérateur de répartition '@' ne peut pas être utilisé pour référencer des variables dans une expression 
. '@ 127' ne peut être utilisé que comme argument d'une commande. Pour 
 Référencer des variables dans une expression, utilisez '$ 127'. 
 + CategoryInfo: ParserError: (:) [], ParentContainsErrorRecordException 
 + FullyQualifiedErrorId: MissingPropertyName
12
jhilden

Comme le message d'erreur le dit: le @ a un signification spéciale dans PowerShell. Échapper au personnage

Dig google.com `@127.0.0.1

ou mettez l'argument entre guillemets

Dig google.com "@127.0.0.1"
9
Ansgar Wiechers

Je sais que cette réponse n'utilise pas les outils Bind, comme vous l'avez déduit dans votre question. Cela dit, cependant, PowerShell est livré avec le Resolve-DnsName pour effectuer cette tâche. Je crois que la commande suivante fera ce que vous recherchez

Resolve-DnsName -Name google.com -Server 127.0.0.1
40
shawmanz32na