【问题标题】:dig (DNS Lookup) specify DNS server on Windowsdig (DNS Lookup) 在 Windows 上指定 DNS 服务器
【发布时间】:2016-08-05 02:43:14
【问题描述】:

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

dig google.com @127.0.0.1

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

PS C:\Users\jhilden> 挖掘 google.com @127.0.0.1
在行:1 字符:21
+ 挖掘 google.com @127.0.0.1
+ ~
引用运算符后缺少属性名称。
在行:1 字符:16
+ 挖掘 google.com @127.0.0.1
+ ~~~~
喷溅运算符“@”不能用于引用
表达。 '@127' 只能用作命令的参数。到
表达式中的引用变量使用“$127”。
    + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : MissingPropertyName

【问题讨论】:

    标签: powershell dns dig


    【解决方案1】:

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

    Resolve-DnsName -Name google.com -Server 127.0.0.1
    

    【讨论】:

    • @r590 经调查,Resolve-DnsName 似乎是在 PowerShell 3.0 中添加的,因此仅适用于 Windows 8+ / Windows Server 2012+_
    • 请注意,WMF 5.1(包括 PowerShell 5.1)已向后移植到 Windows 7 SP1 - 因此任何 W7SP1、Server 2008R2SP1 或更高版本都应该能够运行全套 PowerShell 命令。跨度>
    • 这不支持port。还有其他可能吗?
    【解决方案2】:

    就像错误消息所说:@ 在 PowerShell 中有一个 special meaning。逃脱角色

    dig google.com `@127.0.0.1
    

    或将参数放在引号中

    dig google.com "@127.0.0.1"
    

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 不。参数顺序在这里无关紧要。
      猜你喜欢
      • 1970-01-01
      • 2017-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-15
      相关资源
      最近更新 更多