DNS设置为“自动获得”编程 [英] Set DNS to 'Obtain automatically' programmatically
本文介绍了DNS设置为“自动获得”编程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
使用C#.NET的,我怎么设置DNS服务器为自动获得?我可以设置IP地址所需的值是这样的。
Using C# on .NET, how do I set the DNS servers to 'Obtain automatically'? I can set the IP addresses to desired values like this.
ManagementClass mClass = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection mObjCol = mClass.GetInstances();
foreach (ManagementObject mObj in mObjCol)
{
if ((bool)mObj["IPEnabled"])
{
ManagementBaseObject mboDNS = mObj.GetMethodParameters("SetDNSServerSearchOrder");
if (mboDNS != null)
{
//Assume X.X.X.X and X.X.X.X are the IPs.
string[] sIPs = { "X.X.X.X", "X.X.X.X" };
mboDNS["DNSServerSearchOrder"] = sIPs;
mObj.InvokeMethod("SetDNSServerSearchOrder", mboDNS, null);
}
}
}
我已经试过同时设置IP地址为空,如 SIPS = {NULL,NULL};
,但最终没有改变设置在所有
I've tried setting both IPs to null, like sIps = { null, null };
, but that ends up not changing the settings at all.
推荐答案
尝试使用空字符串数组设置DNSServerSearchOrder的为null,而不是。
Try setting DNSServerSearchOrder to null instead of using an array of null strings.
ManagementClass mClass = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection mObjCol = mClass.GetInstances();
foreach (ManagementObject mObj in mObjCol)
{
if ((bool)mObj["IPEnabled"])
{
ManagementBaseObject mboDNS = mObj.GetMethodParameters("SetDNSServerSearchOrder");
if (mboDNS != null)
{
mboDNS["DNSServerSearchOrder"] = null;
mObj.InvokeMethod("SetDNSServerSearchOrder", mboDNS, null);
}
}
}
这篇关于DNS设置为“自动获得”编程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文