Как определить, были ли DNS-серверы заданы программно в .net? - PullRequest
1 голос
/ 22 февраля 2012

Как программно определить, явно ли определены DNS-серверы в Windows 7:

enter image description here

Статическая IP-адресация может быть идентифицирована с помощью IPv4InterfaceProperties::IsDhcpEnabled, но я не могу найтианалогичная настройка для днс.

Я пробовал IPInterfaceProperties::IsDnsEnabled и IPInterfaceProperties::IsDynamicDnsEnabled, но ни один из них не изменяется, когда я изменяю настройку в диалоговом окне Windows.

Мне нужно получить эту информацию, чтобы я могвыполнить некоторые настройки / демонтаж для модульного теста, который я пишу.

Я также пробовал IPInterfaceProperties::DnsAddresses.В этом списке перечислены адреса как статически заданные, или, если они не указаны, похоже, что они забираются из моей сети (у нас работают DHCP и DNS-серверы).Я не хочу явно устанавливать DNS-серверы в методе разрыва, если он был предварительно настроен для динамического выполнения.

1 Ответ

0 голосов
/ 13 апреля 2012

Ну, это не чистое решение .net, но если мы запустим:

netsh -c interface dump > current_network_settings.txt

до испытания и:

netsh -f current_network_settings.txt

после выполнения тестов мы должны вернуться к тому, с чего начали.

...