最近一个项目需要通过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语句,看能否成功。程序权限要管理员。
如果代码你是抄来的,并且写代码的人声称可以,那么你的问题是权限不够。