1234567891011121314151617181920212223242526272829303132
public void SetNetworkAdapter(List<string> ipAddr, List<string> subnetMask, List<string> gateways, List<string> dnsServer){ 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"]) continue; //设置ip地址和子网掩码 inPar = mo.GetMethodParameters("EnableStatic"); inPar["IPAddress"] = ipAddr.ToArray(); inPar["SubnetMask"] = subnetMask.ToArray(); outPar = mo.InvokeMethod("EnableStatic", inPar, null); //设置网关地址 inPar = mo.GetMethodParameters("SetGateways"); inPar["DefaultIPGateway"] = gateways.ToArray(); outPar = mo.InvokeMethod("SetGateways", inPar, null); //设置DNS inPar = mo.GetMethodParameters("SetDNSServerSearchOrder"); inPar["DNSServerSearchOrder"] = dnsServer.ToArray(); outPar = mo.InvokeMethod("SetDNSServerSearchOrder", inPar, null); break; }}
【 Win32_NetworkAdapterConfiguration :http://msdn.microsoft.com/en-us/library/aa394217.aspx】
【http://www.microsoft.com/china/technet/community/scriptcenter/topics/networking/01_atnc_intro.mspx】