2011-12-25 9 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

答えて

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(add using System.Linq)を使用すると、 :

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

PS:また、あなたは、WMIクエリでタイプミスをしました注意してください - Adapterrを忘れてしまった:Win32_NetworkAdapte_r_

関連する問題