/// <summary> /// Get Network Interface by MACAddress. /// </summary> /// <returns></returns> public static Base.NetworkInterface GetByMACNetworkInterface(string mac) { Base.NetworkInterface network = null; using (var networkConfigMng = new ManagementClass("Win32_NetworkAdapterConfiguration")) { using (var networkConfigs = networkConfigMng.GetInstances()) { foreach (var managementObject in networkConfigs.Cast <ManagementObject>())//.Where(managementObject => (bool)managementObject["IPEnabled"])) { try { string macTmp = managementObject.GetPropertyValue("MACAddress").ToString().Trim(); if (macTmp.Equals(mac.Trim())) { Base.NetworkInterface tmp = new Base.NetworkInterface(); tmp.Caption = managementObject.GetPropertyValue("Caption").ToString(); tmp.ServiceName = managementObject.GetPropertyValue("ServiceName").ToString(); tmp.SettingID = managementObject.GetPropertyValue("SettingID").ToString(); tmp.Description = managementObject.GetPropertyValue("Description").ToString(); //network.IPAddress = managementObject.GetPropertyValue("IPAddress").ToString(); tmp.MACAddress = macTmp; network = tmp; } } catch { } } } } return(network); }
/// <summary> /// Get All Network Interfaces. /// </summary> /// <returns></returns> public static List <Base.NetworkInterface> GetAllNetworkInterfaces() { List <Base.NetworkInterface> networks = new List <Base.NetworkInterface>(); using (var networkConfigMng = new ManagementClass("Win32_NetworkAdapterConfiguration")) { using (var networkConfigs = networkConfigMng.GetInstances()) { foreach (var managementObject in networkConfigs.Cast <ManagementObject>())//.Where(managementObject => (bool)managementObject["IPEnabled"])) { try { Base.NetworkInterface network = new Base.NetworkInterface(); network.Caption = managementObject.GetPropertyValue("Caption").ToString(); network.ServiceName = managementObject.GetPropertyValue("ServiceName").ToString(); network.SettingID = managementObject.GetPropertyValue("SettingID").ToString(); network.Description = managementObject.GetPropertyValue("Description").ToString(); //network.IPAddress = managementObject.GetPropertyValue("IPAddress").ToString(); network.MACAddress = managementObject.GetPropertyValue("MACAddress").ToString(); networks.Add(network); } catch { } } } } return(networks); }