2

如何以编程方式检测 Windows 7 中是否明确定义了 DNS 服务器:

在此处输入图像描述

可以使用静态 IP 地址来识别,IPv4InterfaceProperties::IsDhcpEnabled但我找不到类似的 dns 设置。

我已经尝试过IPInterfaceProperties::IsDnsEnabledIPInterfaceProperties::IsDynamicDnsEnabled但是当我通过 Windows 对话框更改设置时,这些似乎都没有改变。

我需要获取此信息,以便我可以为我正在编写的单元测试执行一些设置/拆卸。

我也试过了IPInterfaceProperties::DnsAddresses。这列出了静态指定的地址,或者如果没有指定,它似乎从我的网络中获取它们(我们正在运行 DHCP 和 DNS 服务器)。如果之前将其配置为动态执行,我不想在拆卸方法中明确设置 DNS 服务器。

4

1 回答 1

0

好吧,这不是一个纯粹的 .net 解决方案,但如果我们运行:

netsh -c interface dump > current_network_settings.txt

测试前和:

netsh -f current_network_settings.txt

测试完成后,我们应该回到我们开始的地方。

于 2012-04-13T13:36:07.007 回答