I want set dns ip address in my NIC using Java code, and I'm looking for one routine in C# ManagementClass
and ManagementBaseObject
for do this.
using System;
using System.ComponentModel;
using System.Windows.Forms;
using System.Management;
//Modify IP Address, Subnet Mask, Default Gateway, DNS and ALternate DNS
public void setIP(string IPAddress, string SubnetMask, string Gateway, string DNS, string ALTDNS)
{
ManagementClass objMC = new ManagementClass("Win32_NetworkAdapterCon
figuration");
ManagementObjectCollection objMOC = objMC.GetInstances();
foreach (ManagementObject objMO in objMOC)
{
ManagementBaseObject objNewIP = null;
ManagementBaseObject objSetIP = null;
ManagementBaseObject objNewGate = null;
ManagementBaseObject objNewDNS = null;
ManagementBaseObject objSetDNS = null;
if (!(bool)objMO["IPEnabled"])
continue;
try
{
objNewIP = objMO.GetMethodParameters("EnableStatic");
objNewGate = objMO.GetMethodParameters("SetGateways");
objNewDNS = objMO.GetMethodParameters("SetDNSServerSearchOrder");
//Set DefaultGateway
objNewGate["DefaultIPGateway"] = new string[] { Gateway };
objNewGate["GatewayCostMetric"] = new int[] { 1 };
//Set IPAddress and Subnet Mask
objNewIP["IPAddress"] = new string[] { IPAddress };
objNewIP["SubnetMask"] = new string[] { SubnetMask };
objSetIP = objMO.InvokeMethod("EnableStatic", objNewIP, null);
objSetIP = objMO.InvokeMethod("SetGateways", objNewGate, null);
objNewDNS["DNSServerSearchOrder"] = new string[] { DNS, ALTDNS };
objSetDNS = objMO.InvokeMethod("SetDNSServerSearchOrder", objNewDNS, null);
Console.WriteLine("Updated IPAddress, SubnetMask and Default Gateway!");
}
catch (Exception ex)
{
MessageBox.Show("Unable to Set IP : " + ex.Message);
}
finally
{
objNewIP = null;
objSetIP = null;
objNewGate = null;
objNewDNS = null;
objSetDNS = null;
}
}
}
So, how convert this code to Java?
Exists some Framework for Java that use ManagementClass
and ManagementBaseObject
as used in C# code above?
Any suggestion will be welcome.