请问C#怎么修改宽带连接的DNS呀

最近一个项目需要通过C#来修改宽度连接的DNS,可是怎么试都不能修改
以下方法也不可以,哪位大师知道吗

ManagementBaseObject inPar = null;
            ManagementBaseObject outPar = null;
            ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
            ManagementObjectCollection moc = mc.GetInstances();
            foreach (ManagementObject mo in moc)
            {
                if (mo.Properties["Caption"].Value.ToString().IndexOf("PPPOE") > 0)
                {
                    inPar = mo.GetMethodParameters("SetDNSServerSearchOrder");
                    Console.WriteLine("Caption:{0}", mo.Properties["Caption"].Value);
                    inPar["DNSServerSearchOrder"] = new string[] { "127.0.0.1" }; // 1.DNS 2.备用DNS
                    outPar = mo.InvokeMethod("SetDNSServerSearchOrder", inPar, null);
                }
                if (!(bool)mo["IPEnabled"])
                    continue;
                inPar = mo.GetMethodParameters("SetDNSServerSearchOrder");
                Console.WriteLine("Caption:{0}", mo.Properties["Caption"].Value);
                inPar["DNSServerSearchOrder"] = new string[] { "127.0.0.1" }; // 1.DNS 2.备用DNS
                outPar = mo.InvokeMethod("SetDNSServerSearchOrder", inPar, null);
                //break;
            } 

2个回答

直接用WMI tool执行一下wql语句,看能否成功。程序权限要管理员。

oyljerry
oyljerry 回复XiaoKongXu: 也可能本身代码不支持你的环境,可以多加些输出信息看具体错误原因
接近 5 年之前 回复
XiaoKongXu
XiaoKongXu ???听不太懂,能详细点吗0.0谢谢啦
接近 5 年之前 回复

如果代码你是抄来的,并且写代码的人声称可以,那么你的问题是权限不够。

XiaoKongXu
XiaoKongXu 我是使用的管理员权限运行的,可是这个代码确实不能更改宽带连接的DNS
接近 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问