public List<EthernetDTOResponse> GetEthernetInfo() { List<EthernetDTOResponse> ethetnets = new List<EthernetDTOResponse>(); try { SelectQuery query = new SelectQuery( @"select Name, MACAddress, Speed, GUID from Win32_NetworkAdapter where MACAddress<>null and PhysicalAdapter=true" ); ManagementObjectSearcher searcher = new ManagementObjectSearcher(query); foreach (ManagementObject obj in searcher.Get()) { EthernetDTOResponse eth = new EthernetDTOResponse(); eth.Label = GetValueAsString(obj, "Name"); eth.Mac = GetValueAsString(obj, "MACAddress"); eth.Speed = GetValueAsString(obj, "Speed"); try { SelectQuery queryAdapterConf = new SelectQuery( @"select IPAddress, IPSubnet from Win32_NetworkAdapterConfiguration where SettingID='" + GetValueAsString(obj, "GUID") + "'" ); ManagementObjectSearcher adapterConfSearcher = new ManagementObjectSearcher(queryAdapterConf); foreach (ManagementObject adapterConf in adapterConfSearcher.Get()) { try { eth.IPAddress = ((string[]) adapterConf["IPAddress"])[0]; eth.IPSubnet = ((string[]) adapterConf["IPSubnet"])[0]; } catch (ManagementException e) { Logger.Instance.LogError(e.ToString()); } catch (Exception) { } break; } } catch (ManagementException e) { Logger.Instance.LogError(e.ToString()); } ethetnets.Add(eth); } } catch (ManagementException e) { Logger.Instance.LogError(e.ToString()); } return ethetnets; }
public List<EthernetDTOResponse> GetEthernetInfo() { List<EthernetDTOResponse> ethetnets = new List<EthernetDTOResponse>(); try { SelectQuery query = new SelectQuery( @"select Name, MACAddress, Speed, Index from Win32_NetworkAdapter where MACAddress<>null" ); ManagementObjectSearcher searcher = new ManagementObjectSearcher(query); foreach (ManagementObject obj in searcher.Get()) { string mac = GetValueAsString(obj, "MACAddress"); if (Blacklists.IsMacInBlacklist(mac)) { continue; } EthernetDTOResponse eth = new EthernetDTOResponse(); eth.Label = GetValueAsString(obj, "Name"); eth.Mac = GetValueAsString(obj, "MACAddress"); eth.Speed = GetValueAsString(obj, "Speed"); try { SelectQuery queryAdapterConf = new SelectQuery( @"select IPAddress, IPSubnet from Win32_NetworkAdapterConfiguration where Index='" + GetValueAsString(obj, "Index") + "' and IPEnabled=True" ); ManagementObjectSearcher adapterConfSearcher = new ManagementObjectSearcher(queryAdapterConf); foreach (ManagementObject adapterConf in adapterConfSearcher.Get()) { try { eth.IPAddress = ((string[]) adapterConf["IPAddress"])[0]; eth.IPSubnet = ((string[]) adapterConf["IPSubnet"])[0]; ethetnets.Add(eth); } catch (ManagementException e) { Logger.Instance.LogError(e.ToString()); } catch (Exception e) { Logger.Instance.LogError(e.ToString()); } break; } } catch (ManagementException e) { Logger.Instance.LogError(e.ToString()); } } } catch (ManagementException e) { Logger.Instance.LogError(e.ToString()); } return ethetnets; }