(7).子网掩码
/// <summary>
/// 子网掩码
/// </summary>
public string Mask
{
get
{
string mask;
var address = GetAddress();
if (address == null)
{
mask = "";
}
else
{
if (address.IPv4Mask != null)
{
mask = address.IPv4Mask.ToString();
}
else
{
mask = "255.255.255.0";
}
}
return mask;
}
set { if (value == null) throw new ArgumentNullException(nameof(value)); }
}
(8).属性
/// <summary>
/// DNS集合
/// </summary>
public IPAddressCollection DnsAddresses { get; set; }
/// <summary>
/// 网关地址集合
/// </summary>
public GatewayIPAddressInformationCollection Getwaryes { get; set; }
/// <summary>
/// IP地址集合
/// </summary>
public UnicastIPAddressInformationCollection IpAddresses { get; set; }
/// <summary>
/// DHCP地址集合
/// </summary>
public IPAddressCollection DhcpServerAddresses { get; set; }
/// <summary>
/// 网卡MAC地址
/// </summary>
public PhysicalAddress MacAddress { get; set; }
/// <summary>
/// 是否启用DHCP服务
/// </summary>
public bool IsDhcpEnabled { get; set; }
/// <summary>
/// 描述信息
/// </summary>
public string Description { get; set; }
/// <summary>
/// 网络接口类型
/// </summary>
/// <returns></returns>
public string NetworkInterfaceType { get; set; }
/// <summary>
/// 速度
/// </summary>
public string Speed { get; set; }
(9).是否是IP地址
/// <summary>
/// 是否是IP地址
/// </summary>
/// <param name="ipAddress"></param>
/// <returns></returns>
public bool IsIPAddress(string ipAddress)
{
const string regexStr = @"^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$";
var regex = System.Text.RegularExpressions.Regex.Match(ipAddress, regexStr);
return regex.Success;
}
(10).启用DHCP服务
/// <summary>
/// 启用DHCP服务
/// </summary>
public bool EnableDhcp()
{
var wmi = new ManagementClass("Win32_NetworkAdapterConfiguration");
var moc = wmi.GetInstances();
foreach (var o in moc)
{
var mo = (ManagementObject) o;
if (!(bool)mo["IPEnabled"])
continue;
if (mo["SettingID"].ToString() != NetworkInterfaceId) continue;
mo.InvokeMethod("SetDNSServerSearchOrder", null);
mo.InvokeMethod("EnableDHCP", null);
}
//查询现适配器接口信息
var networkAdapter = new NetworkAdapterUtil().GetNeworkAdapterByNetworkInterfaceId(NetworkInterfaceId);
return networkAdapter != null && networkAdapter.IsDhcpEnabled;
}










