C# 更改IP,子网掩码,网关,DNS

来源:互联网 发布:java实施运维 编辑:程序博客网 时间:2024/05/17 02:07
1234567891011121314151617
// 定义IP变量List<string> ip = new List<string>();string strIp = mtxtAddress.Text.ToString().Replace(" ", "");// 判断IP是否为空if (strIp.Equals("...")){    MessageBox.Show("Ip Address Can Not Empty!");    return;}ip.Add(strIp); //子网掩码,网关,DNS相关变量请自行定义...... // 调用更新IP函数ChangeIP c = new ChangeIP();c.SetNetworkAdapterByList(ip, subNetMask, gateway, dns);
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】
原创粉丝点击