DNS-серверы сетевого адаптера не применяются мгновенно при установке в реестре Windows - PullRequest
0 голосов
/ 29 января 2019

Я хотел бы установить DNS-серверы сетевого адаптера в Windows.Сначала я пытался использовать WMI для этой цели, но оказалось, что в некоторых случаях он не позволяет мне делать то, что я хочу.Например, когда я пытаюсь настроить DNS-серверы адаптера Ethernet без подключенного к нему кабеля, WMI возвращает сообщение об ошибке, говорящее о том, что IP-адрес для этого адаптера не включен.AFAIK, другая проблема в том, что он не поддерживает управление настройками IPv6.

Поэтому я решил написать в реестр Windows напрямую:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip[6]\Parameters\Interfaces\[Interface GUID]\NameServer

К сожалению, когда я это делаю, кажется, чтовновь записанные настройки не применяются мгновенно.Из-за этого я использую WMI для отключения и включения адаптера.

Однако это решение кажется действительно громоздким, и мне интересно, нельзя ли сделать то же самое «чистым» способом.Я пытаюсь сделать это в C #, .NET Framework 4.7.2.

1 Ответ

0 голосов
/ 29 января 2019

Как насчет инструмента NETSH?Запустите его с правами администратора.

Process.Start("netsh", "interface ip set dns \"NETWORK NAME\" static 8.8.8.8").WaitForExit();
...