2012-06-18 2 views
3

Кто-нибудь знает, как получить Nic имя картыКак получить имя сетевой карты

, когда я делаю IPCONFIG/все я могу получить эту

Ethernet adapter XC99HT: 

    Connection-specific DNS Suffix . : xx.xx.com 
    Description . . . . . . . . . . . : HP NC382i DP Multifunction Gigabit Server 
Adapter 
    Physical Address. . . . . . . . . : F4-CE-46-94-E8-B0 
    DHCP Enabled. . . . . . . . . . . : No 
    Autoconfiguration Enabled . . . . : Yes 
    IPv4 Address. . . . . . . . . . . : 177.77.153.48(Preferred) 
    Subnet Mask . . . . . . . . . . . : 255.255.255.0 
    Default Gateway . . . . . . . . . : 177.77.153.1 
    DNS Servers . . . . . . . . . . . : 177.77.124.129 
             177.77.124.130 
    Primary WINS Server . . . . . . . : 177.77.124.129 
    Secondary WINS Server . . . . . . : 177.77.124.130 
    NetBIOS over Tcpip. . . . . . . . : Enabled 

хотели бы получить «HP NC382i DP Многофункциональный гигабитный серверный Адаптер "только с использованием/передачей имени Ethernet" XC99HT "

+0

Вы всегда можете выполнить команду ipconfig, а затем прочитать результат с помощью регулярного выражения, но я не собираюсь писать код для вас ;-) (надеюсь, кто-то даст вам лучший ответ, чем это) – ametren

ответ

8

Нечто вроде this?

public static void ShowInterfaceSummary() 

{

NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces(); 
foreach (NetworkInterface adapter in interfaces) 
{     
    Console.WriteLine ("Name: {0}", adapter.Name); 
    Console.WriteLine(adapter.Description); 
    Console.WriteLine(String.Empty.PadLeft(adapter.Description.Length,'=')); 
    Console.WriteLine(" Interface type .......................... : {0}", adapter.NetworkInterfaceType); 
    Console.WriteLine(" Operational status ...................... : {0}", 
     adapter.OperationalStatus); 
    string versions =""; 

    // Create a display string for the supported IP versions. 
    if (adapter.Supports(NetworkInterfaceComponent.IPv4)) 
    { 
     versions = "IPv4"; 
    } 
    if (adapter.Supports(NetworkInterfaceComponent.IPv6)) 
    { 
     if (versions.Length > 0) 
     { 
      versions += " "; 
     } 
     versions += "IPv6"; 
    } 
    Console.WriteLine(" IP version .............................. : {0}", versions); 
    Console.WriteLine(); 
} 
Console.WriteLine(); 

}

+0

Это то, что Мне нужна System.Net.NetworkInformation. Благодаря!! –

+0

John your Welcome! –

1

Чтобы сделать это правильно в коде, вы, вероятно, хотите использовать WMI. WMI (Windows Management Intrumentation) - это «метаданные» в Windows, которая содержит информацию обо всем, что происходит на уровне устройства. Вы обращаетесь к нему с использованием пространства имен System.Management в .NET, прежде всего класса ManagementObjectSearcher. Вы выполняете поиск WMI с помощью синтаксиса, аналогичного SQL. Вот основной запрос, который возвращает все активные сетевые адаптеры:

select * from Win32_NetworkAdapterConfiguration where IPEnabled = true 

Практически все, что вы могли видеть с помощью IPConfig (и более) можно получить в результате ManagementObjectCollection. К сожалению, я не знаю, в каком поле объектов были бы данные «XC99HT».

Смежные вопросы