public void RecoverDns() { ManagementClass mClass = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection mObjCol = mClass.GetInstances(); foreach (ManagementObject mObj in mObjCol) { if ((string)mObj["SettingID"] == Id) { ManagementBaseObject mboDNS = mObj.GetMethodParameters("SetDNSServerSearchOrder"); if (InitDynamicDns) { if (mboDNS != null) { mboDNS["DNSServerSearchOrder"] = null; mObj.InvokeMethod("SetDNSServerSearchOrder", mboDNS, null); } } else { if (mboDNS != null) { mboDNS["DNSServerSearchOrder"] = InitDnsServers.ToArray(); mObj.InvokeMethod("SetDNSServerSearchOrder", mboDNS, null); } } return; } } }
public void BackupDns() { InitDnsServers.Clear(); InitDynamicDns = IsDNSAuto(); if (!InitDynamicDns) { GetNetworkInterfaceById(Id).GetIPProperties().DnsAddresses.ToList().ForEach(dns => { InitDnsServers.Add(dns.ToString()); }); } }