/// <summary>
/// 启用DHCP服务器
/// </summary>
public static void EnableDHCP()
{
ManagementClass wmi = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = wmi.GetInstances();
foreach (ManagementObject mo in moc)
{
//如果没有启用IP设置的网络设备则跳过
if (!(bool) mo["IPEnabled"])
continue;
//重置DNS为空
mo.InvokeMethod("SetDNSServerSearchOrder", null);
//开启DHCP
mo.InvokeMethod("EnableDHCP", null);
}
}
///是否动态获取IP
foreach (System.Net.NetworkInformation.NetworkInterface f in System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces())
{
if (f.OperationalStatus == System.Net.NetworkInformation.OperationalStatus.Up)
{
var dd = f.GetIPProperties(); //这里有DHCP的地址,判断下DHCP.Count>1 就是动态
if (dd.DhcpServerAddresses.Count() > 0)
{
return true;
}
}
}