/// <summary> /// Sets the DNS server address(es) for the specified NIC /// </summary> /// <param name="NIC">NIC name</param> /// <param name="DNS">DNS server addresses</param> public static void setDNS(string NIC, List<string> IPs) { ManagementClass NetworkConfig = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection NICcollection = NetworkConfig.GetInstances(); foreach (ManagementObject NICconfig in NICcollection) { if ((bool)NICconfig["IPEnabled"]) { if (NICconfig["Description"].Equals(NIC)) { ManagementBaseObject DNSconfig = NICconfig.GetMethodParameters("SetDNSServerSearchOrder"); DNSconfig["DNSServerSearchOrder"] = IPs.ToArray(); NICconfig.InvokeMethod("SetDNSServerSearchOrder", DNSconfig, null); } } } }
public void setDNS(string nicDescription, bool setAuto) { ManagementClass NetworkConfig = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection NICcollection = NetworkConfig.GetInstances(); foreach (ManagementObject NICconfig in NICcollection) { if ((bool)NICconfig["IPEnabled"]) { ManagementBaseObject DNSconfig = NICconfig.GetMethodParameters("SetDNSServerSearchOrder"); if (setAuto) { if (NICconfig["Description"].Equals(nicDescription)) { if (DNSconfig != null) { DNSconfig["DNSServerSearchOrder"] = null; } } } else { if (NICconfig["Description"].Equals(nicDescription)) { string[] dnsArray = new String[1] { "127.0.0.1" }; DNSconfig["DNSServerSearchOrder"] = dnsArray; } } NICconfig.InvokeMethod("SetDNSServerSearchOrder", DNSconfig, null); } } }