如何在 Windows Server 2008 R2 中获取与 Set-DnsClientServerAddress 等效的功能?

如何在 Windows Server 2008 R2 中获取与 Set-DnsClientServerAddress 等效的功能?

如何在 Windows Server 2008 中以编程方式设置网络适配器的 DNS 地址?似乎Set-DnsClientServerAddress不支持。

答案1

无法通过 PowerShell 执行此操作(文档没有明确说明这一点,但您可以看到 Server 2008 没有列在页面顶部),但您可以使用netsh

netsh interface ip add dnsserver "Local Area Connection" 10.0.0.1

答案2

由于您要求使用 PowerShell,因此您可以使用 WMI 并通过提供程序进行设置Win32_NetworkAdapterConfiguration

Get-WMIObject win32_NetworkAdapterConfiguration

这将列出您拥有的适配器,然后您可以选择一个特定的适配器:

$adapter = Get-WMIObject win32_NetworkAdapterConfiguration -Filter "Index=X"
# or use PowerShell filtering
$adapter = Get-WMIObject win32_NetworkAdapterConfiguration | Where-Object { $_.Index -eq X }

然后使用该SetDNSServerSearchOrder()方法设置地址:

$adapter.SetDNSServerSearchOrder("8.8.8.8")
# or a list
$dns_servers = "8.8.8.8", "8.8.4.4"
$adapter.SetDNSServerSearchOrder($dns_servers)

奖金单行:

(gwmi win32_networkadapterconfiguration -Filter "index=x").SetDNSServerSearchOrder(@("8.8.8.8","8.8.4.4"))

相关内容