UsingSystem;
UsingSystem. Management;
NamespaceArli. commonprj {
Public ClassChangeip {
Public StaticReadonly system. Version myversion= NewSystem. Version (1, 1 );
PrivateManagementbaseobject iobj= Null;
PrivateManagementbaseobject oobj= Null;
PrivateManagementclass MC= NewManagementclass ("win32_networkadapterconfiguration ");
PrivateReadonly managementobjectcollection MOC;
///
// example:
///
// arli. commonprj. changeip o = New arli. commonprj. changeip ();
// string [] iplist = New String [] {"192.168.0.253 ", "192.168.0.250" };
// string [] subnetlist = New String [] {"255.255.255.0 ", "255.255.255.0" };
// o. changeto (iplist, subnetlist );
///
///
Public changeip () {
MOC = MC. getinstances ();
}
/// <Summary> cortrol </Summary>
/// <Param name = "ipaddr"> ipaddr list </param>
/// <Param name = "subnetmask"> subnetmask list </param>
Public VoidChangeto (String[] Ipaddr,String[] Subnetmask ){
Foreach(Managementobject MoInMOC ){
If(! (Bool) Mo ["ipenabled"]) continue;
Iobj=Mo. getmethodparameters ("enablestatic ");
Iobj ["IPaddress"]=Ipaddr;
Iobj ["subnetmask"]=Subnetmask;
Oobj=Mo. invokemethod ("enablestatic", iobj,Null);
}
}
///
cortrol
/// ipaddr list
/// subnetmask list
/// gateway list
/// gateway costmetric list, example: 1
Public void changeto ( string [] ipaddr, string [] subnetmas K, string [] gateways, string [] gatewaycostmetric) {
foreach (managementobject Mo in MOC) {
If (! ( bool ) Mo ["ipenabled"]) continue;
Iobj=Mo. getmethodparameters ("enablestatic ");
Iobj ["IPaddress"]=Ipaddr;
Iobj ["subnetmask"]=Subnetmask;
Oobj=Mo. invokemethod ("enablestatic", iobj,Null);
Iobj=Mo. getmethodparameters ("setgateways ");
Iobj ["defaultipgateway"]=Gateways;
Iobj ["gatewaycostmetric"]=Gatewaycostmetric;
Oobj=Mo. invokemethod ("setgateways", iobj,Null);
}
}
/// <Summary> cortrol </Summary>
/// <Param name = "ipaddr"> ipaddr list </param>
/// <Param name = "subnetmask"> subnetmask list </param>
/// <Param name = "gateways"> gateway list </param>
/// <Param name = "gatewaycostmetric"> gateway costmetric list, example: 1 </param>
/// <Param name = "dnsserver"> dnsserver list </param>
Public Void Changeto ( String [] Ipaddr, String [] Subnetmask, String [] Gateways, String [] Gatewaycostmetric, String [] Dnsserver ){
Foreach (Managementobject Mo In MOC ){
If (! ( Bool ) Mo ["ipenabled"]) continue;
Iobj=Mo. getmethodparameters ("enablestatic ");
Iobj ["IPaddress"]=Ipaddr;
Iobj ["subnetmask"]=Subnetmask;
Oobj=Mo. invokemethod ("enablestatic", iobj,Null);
Iobj=Mo. getmethodparameters ("setgateways ");
Iobj ["defaultipgateway"]=Gateways;
Iobj ["gatewaycostmetric"]=Gatewaycostmetric;
Oobj=Mo. invokemethod ("setgateways", iobj,Null);
Iobj=Mo. getmethodparameters ("setdnsserversearchorder ");
Iobj ["dnsserversearchorder"]=Dnsserver;
Oobj=Mo. invokemethod ("setdnsserversearchorder", iobj,Null);
}
}
/// <Summary> dhcpenabled </Summary>
Public VoidEnabledhcp (){
Foreach(Managementobject MoInMOC ){
If(! (Bool) Mo ["ipenabled"]) continue;
If(! (Bool) Mo ["dhcpenabled"]) {
Iobj=Mo. getmethodparameters ("enabledhcp ");
Oobj=Mo. invokemethod ("enabledhcp", iobj,Null);
}
}
}
}
}