您的位置:首页 > 编程语言

如何编程实现修改IP地址、子网掩码、网关、DNS地址等?

2009-04-01 13:29 585 查看
using System;
using System.Management;
using System.Threading;

namespace WmiIpChanger
{
class IpChanger
{
[MTAThread]
static void Main(string[] args)
{
ReportIP();
//  SwitchToDHCP();
            SwitchToStatic();
Thread.Sleep(5000);
ReportIP();
Console.WriteLine("end.");
}

static void SwitchToDHCP()
{
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;

inPar = mo.GetMethodParameters("EnableDHCP");
outPar = mo.InvokeMethod("EnableDHCP", inPar, null);
break;
}
}

static void SwitchToStatic()
{
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;

inPar = mo.GetMethodParameters("EnableStatic");
inPar["IPAddress"] = new string[] { "192.168.1.1" };
inPar["SubnetMask"] = new string[] { "255.255.255.0" };
outPar = mo.InvokeMethod("EnableStatic", inPar, null);
break;
}
}

static void ReportIP()
{
Console.WriteLine("******  Current  IP  addresses:");
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if (!(bool) mo["IPEnabled"])
continue;

Console.WriteLine("{0}/n  SVC:  '{1}'  MAC:  [{2}]", (string) mo["Caption"],
(string) mo["ServiceName"], (string) mo["MACAddress"]);

string[] addresses = (string[]) mo["IPAddress"];
string[] subnets = (string[]) mo["IPSubnet"];

Console.WriteLine("  Addresses  :");
foreach (string sad in addresses)
Console.WriteLine("/t'{0}'", sad);

Console.WriteLine("  Subnets  :");
foreach (string sub in subnets)
Console.WriteLine("/t'{0}'", sub);
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: