2011-12-25 94 views
5

是否有可能使用WMI查詢獲取它?如何獲取Windows網絡適配器使用的連接名稱?

我當前的代碼:

ManagementObjectSearcher searcher = new ManagementObjectSearcher(
             "SELECT * FROM Win32_NetworkAdapte"); 

foreach (ManagementObject queryObj in searcher.Get()) 
{ 
    Console.WriteLine(queryObj[??]);   
} 

我試圖擺脫的連接名稱:

Control Panel \ Network and Internet \ Network Connections 
+0

你可能想Win32_NetworkConnection的'Name'財產。 – vcsjones 2011-12-25 03:02:30

回答

3

使用下面的代碼你就可以轉儲的網絡適配器的所有屬性,你需要Name屬性:

ManagementObjectSearcher searcher = new ManagementObjectSearcher(
    "SELECT * FROM Win32_NetworkAdapter"); 

foreach (ManagementObject adapter in searcher.Get()) 
{ 
    StringBuilder propertiesDump = new StringBuilder(); 
    foreach (var property in adapter.Properties) 
    { 
     propertiesDump.AppendFormat(
      "{0} == {1}{2}", 
      property.Name, 
      property.Value, 
      Environment.NewLine);   
    } 
} 

,或者乾脆利用LINQ(添加using System.Linq) :

foreach (ManagementObject adapter in searcher.Get()) 
{ 
    string adapterName = adapter.Properties 
           .Cast<PropertyData>() 
           .Single(p => p.Name == "Name") 
           .Value.ToString(); 
} 

PS:另外要注意你在錯字WMI查詢 - 在Adapter忘記r:Win32_NetworkAdapte_r_

相關問題