请问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;
            } 

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

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