The implementation code is as follows:
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;
// Set the IP address and subnet mask
InPar = mo. GetMethodParameters ("EnableStatic ");
InPar ["IPAddress"] = new string [] {"172.161.111 "};
InPar ["SubnetMask"] = new string [] {"255.255.255.0 "};
OutPar = mo. InvokeMethod ("EnableStatic", inPar, null );
// Set the gateway address
InPar = mo. GetMethodParameters ("SetGateways ");
InPar ["DefaultIPGateway"] = new string [] {"172.161.1 "};
OutPar = mo. InvokeMethod ("SetGateways", inPar, null );
// Set DNS
InPar = mo. GetMethodParameters ("SetDNSServerSearchOrder ");
InPar ["DNSServerSearchOrder"] = new string [] {"221.11.1.67 "};
OutPar = mo. InvokeMethod ("SetDNSServerSearchOrder", inPar, null );