文章

c# 设置网卡ip、子网掩码、网关、dns

	   	// 所需要设置的网卡名称
            ManagementBaseObject inPar = null;
            ManagementBaseObject outPar = null;
            ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
            ManagementObjectCollection moc = mc.GetInstances();
            foreach (ManagementObject mo in moc)
            {
                if (!(bool)mo["IPEnabled"])
                {
                    if("网卡的Mac地址".Equals(mo.GetPropertyValue("MACAddress").ToString()))
                    {
                        //设置ip地址和子网掩码
                        inPar = mo.GetMethodParameters("EnableStatic");
                        inPar["IPAddress"] = new string[] { "192.170.21.168" };
                        inPar["SubnetMask"] = new string[] { "255.255.255.0" };
                        outPar = mo.InvokeMethod("EnableStatic", inPar, null);
                        //设置网关地址
                        inPar = mo.GetMethodParameters("SetGateways");
                        inPar["DefaultIPGateway"] = new string[] { gateways };
                        outPar = mo.InvokeMethod("SetGateways", inPar, null);
                        //设置DNS
                        inPar = mo.GetMethodParameters("SetDNSServerSearchOrder");
                        inPar["DNSServerSearchOrder"] = new string[] { "114.114.114.114","8.8.8.8" };
                        outPar = mo.InvokeMethod("SetDNSServerSearchOrder", inPar, null);
                    }

                }
            }
License: