Как определить, были ли DNS-серверы заданы программно в.net?

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

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

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

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

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

1 ответ

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

netsh -c interface dump > current_network_settings.txt

перед тестом и:

netsh -f current_network_settings.txt

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

Другие вопросы по тегам