Я написал утилиту командной строки, которая определяет, какой сетевой интерфейс подключен, и устанавливает для него IP-адрес staitc и DNS-серверы (путем вызова netsh). Однако я не могу понять, как установить суффиксы поиска DNS. netsh, похоже, не способен на это. Как мне это сделать в противном случае (возможно, WMI)?





Я думаю, вам нужно установить нужные значения в свойстве DNSDomainSuffixSearchOrder WMI-объекта Win32_NetworkAdapterConfiguration.
Вот и пример установки значений в WMI, если вам это нужно: Изменение объектов и методов выполнения
Суффиксы поиска DNS действительны для всей машины, а не для одного сетевого адаптера. Вы также можете получить их из реестра:
string searchList = "";
try
{
using (var reg = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(tcpSettingsSubKey))
{
searchList = (reg.GetValue("SearchList") as string);
}
}
catch(Exception ex)
{
// something went wrong
}
(Это не суффикс DNS по умолчанию, если машина является членом AD)