如何在.net中为网络适配器设置dns搜索后缀?

时间:2008-10-03 00:00:17

标签: c# .net networking wmi

我编写了一个命令行实用程序,用于检测连接的网络接口,并为其设置staitc ip地址和dns服务器(通过调用netsh)。但是,我似乎无法弄清楚如何设置DNS搜索后缀。 netsh似乎没有能力做到这一点。我怎么能这样做(或许是WMI)?

2 个答案:

答案 0 :(得分:2)

我认为您必须在Win32_NetworkAdapterConfiguration WMI对象的DNSDomainSuffixSearchOrder属性中设置所需的值。

如果您需要,可以在WMI中设置值的示例和示例: Modifying Objects & Running Methods

答案 1 :(得分:0)

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
}

(当计算机是AD成员时,这不是默认的dns后缀)