public void ToStaticIP(string ipAddress, string subnetMask, string gateway, string[] DNS) { foreach (ManagementObject adapter in WMI.GetInstances()) { if (Name.Equals(adapter["Description"])) { // Set IPAddress and Subnet Mask ManagementBaseObject newAddress = adapter.GetMethodParameters("EnableStatic"); newAddress["IPAddress"] = new string[] { ipAddress }; newAddress["SubnetMask"] = new string[] { subnetMask }; // Set DefaultGateway ManagementBaseObject newGateway = adapter.GetMethodParameters("SetGateways"); newGateway["DefaultIPGateway"] = new string[] { gateway }; newGateway["GatewayCostMetric"] = new int[] { 1 }; // Set DNS server ManagementBaseObject newDNS = adapter.GetMethodParameters("SetDNSServerSearchOrder"); newDNS["DNSServerSearchOrder"] = DNS; // Configurate adapter.InvokeMethod("EnableStatic", newAddress, null); adapter.InvokeMethod("SetGateways", newGateway, null); adapter.InvokeMethod("SetDNSServerSearchOrder", newDNS, null); //TODO: These three Method has return value... } } }