Я хотел бы установить 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.