我有一个程序,可以使用networkadapterconfiguration(使用 MACAddress属性)读取mac地址
我很好地阅读了所有的mac地址,但是由于更新到内部版本1803之后,由于某种原因,我的mac地址被转移了
在midlle列上是版本1709上的mac,在最右边的列上,您可以在更新到1803之后看到macs
任何想法都可以确保我始终以相同的顺序阅读它们,或者以某种方式准予阅读它们
这是我的代码
public static List<string> WMISearcher(string WMIClassName, string
searchParams, bool win32_Prefix = true, string rootNamespace = "")
{
List<string> result = new List<string>();
var searcherData = getSearcherData(WMIClassName, searchParams, win32_Prefix, rootNamespace);
foreach (ManagementObject obj in searcherData)
{
foreach (PropertyData data in obj.Properties)
if (data.Value != null)
result.Add(data.Value.ToString());
}
return result;
}
private static ManagementObjectCollection getSearcherData(string WMIClassName, string searchParams, bool win32_Prefix = true, string rootNamespace = "")
{
string prefix = "Win32_";
string rootPrefix = @"root\";
if (!win32_Prefix)
prefix = String.Empty;
if (!String.IsNullOrEmpty(rootNamespace))
rootNamespace = rootPrefix + rootNamespace;
else
rootNamespace = rootPrefix + "cimv2";
string searchQuery = String.Format("SELECT {0} FROM {1}", searchParams, prefix + WMIClassName);
using (ManagementObjectSearcher searcher =
new ManagementObjectSearcher(rootNamespace, searchQuery))
{
// Console.WriteLine("{0}", WMIName);
return searcher.Get();
}
}
我像这样使用上面的功能
var MACAddressResult = WMIUtils.WMISearcher("NetworkAdapterConfiguration", "MACAddress");
答案 0 :(得分:0)
您可以轻松使用ORMi并根据需要对列表进行排序:
懒惰选项:
var adapters = helper.Query("SELECT * FROM Win32_NetworkAdapterConfiguration").ToList();
强类型选项:
1)声明模型(这是一个示例,您可以添加或删除所需的任何属性):
[WMIClass("Win32_NetworkAdapterConfiguration")]
public class NetworkAdapterConfiguration
{
public string Caption { get; set; }
public string Description { get; set; }
public uint IPConnectionMetric { get; set; }
public UInt32 InterfaceIndex { get; set; }
public string WINSScopeID { get; set; }
}
2)查询和排序依据:
List<NetworkAdapterConfiguration> interfaces = helper.Query<NetworkAdapterConfiguration>().OrderBy(n=>n.Description).ToList();
这样,您就可以根据自己的需要对列表进行排序(在本例中为Description
)。访问项目存储库以获取更多参考。