释放和更新基于 DHCP 的 IP 地址

And*_*son 3 c# network-programming

使用 C# 如何释放和更新基于 DHCP 的 IP 地址?

目前我正在使用 process 方法来使用这些 DOS 命令:

ipconfig /release
Run Code Online (Sandbox Code Playgroud)

ipconfig /renew
Run Code Online (Sandbox Code Playgroud)

在 C# 中是否有更多的管理方法?

mcl*_*sen 6

可以使用 WMI,但使用它更简单System.Diagnostics.Process

无论如何,这是一个WMI解决方案:

ManagementClass objMC = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection objMOC = objMC.GetInstances();

foreach (ManagementObject objMO in objMOC)
{
    //Need to determine which adapter here with some kind of if() statement
    objMO.InvokeMethod("ReleaseDHCPLease", null, null);
    objMO.InvokeMethod("RenewDHCPLease", null, null); 
}
Run Code Online (Sandbox Code Playgroud)