【发布时间】:2014-09-21 06:16:38
【问题描述】:
我在 Windows 8.1 上运行本地 DNS 服务器,并希望创建一个 PowerShell 脚本来自动在此 DNS 服务器和 DHCP 提供的服务器之间切换。
我知道了
Set-DnsClientServerAddress -InterfaceIndex 3 -ServerAddresses 127.0.0.1 -Validate
可用于设置本地主机的DNS地址,即
Set-DnsClientServerAddress -InterfaceIndex 3 -ResetServerAddresses
将值重置为 DHCP 值。
我也想将 DNS 服务器的 IPv6 地址更改为本地主机 (::1),但是当我尝试这样做时
Set-DnsClientServerAddress -InterfaceIndex 3 -ServerAddresses "::1" -Validate
我收到以下“一般错误”,我无法追溯其原因:
Set-DnsClientServerAddress : A general error occurred that is not covered by a more specific error code.
At line:1 char:1
+ Set-DnsClientServerAddress -InterfaceIndex 3 -Validate -ServerAddresses "::1"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (MSFT_DNSClientS...stemName = "2"):ROOT/StandardCi...ntServerAddress) [Set
-DnsClientServerAddress], CimException
+ FullyQualifiedErrorId : MI RESULT 1,Set-DnsClientServerAddress
Set-DnsClientServerAddress : A general error occurred that is not covered by a more specific error code.
At line:1 char:1
+ Set-DnsClientServerAddress -InterfaceIndex 3 -Validate -ServerAddresses "::1"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (MSFT_DNSClientS...temName = "23"):ROOT/StandardCi...ntServerAddress) [Set
-DnsClientServerAddress], CimException
+ FullyQualifiedErrorId : MI RESULT 1,Set-DnsClientServerAddress
必须使用哪个命令将 IPv6 DNS 地址设置为本地主机,为什么我当前的解决方案会产生错误?
【问题讨论】:
-
你使用了
-validate。 DNS 服务器是否真的在::1上响应? -
非常感谢 :) 它没有,即使我将它配置为在 ::1 上收听。省略 IPv6 命令的 -Validated 就像一个魅力,尽管您希望 PowerShell 抛出一个更易读的错误,特别是因为 -Validate 选项具有明确的含义并且也用于其他命令:/
标签: powershell dns ipv6