Как определить, были ли 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
после выполнения тестов мы должны вернуться к тому, с чего начали.