2011-12-25 2 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 필요 특성 : 단순히 LINQ를 사용하여

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);   
    } 
} 

OR (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_

관련 문제