我有一个用C#编写的应用程序,需要能够在Windows中配置网络适配器。我能够配置一个静态IP,但我希望多个静态IP按预期工作
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;
}
}
}
}
这有助于配置一个静态IP。但我想配置多个IP
答案 0 :(得分:0)
正如您的代码已经显示的那样,EnableStatic方法有两个字符串 array 参数。这允许设置多个IP地址/子网掩码对。 IP阵列的文档说:'列出当前网络适配器的所有静态IP地址'以及子网掩码:'子网掩码,补充IPAddress参数中的值'。所以,编码就像这样:
newIP["IPAddress"] = new string[] { "192.168.1.2", "192.168.1.3" };
newIP["SubnetMask"] = new string[] { "255.255.255.0", "255.255.255.0" };