示例#1
0
		/// <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);
                }
            }
        }