C#更改dns服务器

时间:2017-01-25 08:57:09

标签: c# dns

我想在我的C#代码中更改dns服务器。

这是我的代码: setDNS()方法不起作用,只检查静态模式。

setDNSDHCP()方法确实有效,但会添加一个未识别的网络。

所以,有两个网络。

    public void setDNS(string defaultDNS, string subDNS)
    {
        adapterConfig = new ManagementClass("Win32_NetworkAdapterConfiguration");
        networkCollection = adapterConfig.GetInstances();
        foreach (ManagementObject adapter in networkCollection)
        {
            if ((bool)adapter["IPEnabled"])
            {
                if (adapter["Caption"].Equals(myDesc))
                {
                    ManagementBaseObject objdns = adapter.GetMethodParameters("SetDNSServerSearchOrder");
                    if (objdns != null)
                    {
                        string[] s = { defaultDNS, subDNS };
                        objdns["DNSServerSearchOrder"] = s;
                        adapter.InvokeMethod("SetDNSServerSearchOrder", objdns, null);
                    }
                }
            }
        }
    }

    public void setDNSDHCP()
    {
        adapterConfig = new ManagementClass("Win32_NetworkAdapterConfiguration");
        networkCollection = adapterConfig.GetInstances();
        foreach (ManagementObject adapter in networkCollection)
        {
            if ((bool)adapter["IPEnabled"])
            {
                if (adapter["Caption"].Equals(myDesc))
                {
                    ManagementBaseObject objdns = adapter.GetMethodParameters("EnableDHCP");
                    if (objdns != null)
                    {
                        adapter.InvokeMethod("EnableDHCP", objdns, null);
                    }
                }
            }
        }
    }

它不能正常工作。

拜托,帮助我!

我想使用管理!!

0 个答案:

没有答案