dig (DNS Lookup) 在 Windows 上指定 DNS 服务器
Posted
技术标签:
【中文标题】dig (DNS Lookup) 在 Windows 上指定 DNS 服务器【英文标题】:dig (DNS Lookup) specify DNS server on Windows 【发布时间】: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
【问题讨论】:
【参考方案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
。还有其他可能吗?
Reference doc【参考方案2】:
就像错误消息所说:@
在 PowerShell 中有一个 special meaning。逃脱角色
dig google.com `@127.0.0.1
或将参数放在引号中
dig google.com "@127.0.0.1"
【讨论】:
【参考方案3】:我认为你的参数是倒退的。服务器应该是第一位的。
【讨论】:
不。参数顺序在这里无关紧要。以上是关于dig (DNS Lookup) 在 Windows 上指定 DNS 服务器的主要内容,如果未能解决你的问题,请参考以下文章