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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 定义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);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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_NetworkAdapterConfigurationhttp://msdn.microsoft.com/en-us/library/aa394217.aspx
http://www.microsoft.com/china/technet/community/scriptcenter/topics/networking/01_atnc_intro.mspx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值