我正在研究一个需要将PC IP地址重置为特定IP和子网掩码的工作工具。机器IP复位什么也不做
我使用下面的代码来尝试更改IP(取自此页:How can you change Network settings (IP Address, DNS, WINS, Host Name) with code in C#)。
问题是,这段代码什么也没做。我的电脑本地连接的IP地址不变 - 它仍然通过DHCP自动设置。
帮助?
public void SetIP(string ip_address, string subnet_mask)
{
ManagementClass objMC = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection objMOC = objMC.GetInstances();
foreach (ManagementObject objMO in objMOC)
{
if ((bool)objMO["IPEnabled"])
{
try
{
ManagementBaseObject setIP;
ManagementBaseObject newIP =
objMO.GetMethodParameters("EnableStatic");
newIP["IPAddress"] = new string[] { ip_address };
newIP["SubnetMask"] = new string[] { subnet_mask };
setIP = objMO.InvokeMethod("EnableStatic", newIP, null);
}
catch (Exception)
{
throw;
}
}
}
}
1)作为setIP结果返回什么? 2)你有没有尝试在管理员权限下运行它? –
如何将setIP变成可读结果? – steelfeathers
好吧,以管理员身份运行使其工作,但我需要能够重置IP即使不作为管理员运行。有任何想法吗? – steelfeathers