C# 如何获取网卡名称
有人知道如何获得网卡名称吗 当我执行ipconfig/all时 我可以得到这个C# 如何获取网卡名称,c#,windows-server-2008-r2,ethernet,nic,C#,Windows Server 2008 R2,Ethernet,Nic,有人知道如何获得网卡名称吗 当我执行ipconfig/all时 我可以得到这个 Ethernet adapter XC99HT: Connection-specific DNS Suffix . : xx.xx.com Description . . . . . . . . . . . : HP NC382i DP Multifunction Gigabit Server Adapter Physical Address. . . . . . . . . : F4-CE-
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多功能千兆服务器”
适配器“仅通过使用/传递以太网名称“XC99HT”类似的方式
{
}要在代码中正确执行此操作,您可能需要使用WMI。WMI(Windows Management Intrumentation)是Windows中的一个“元数据库”,它包含关于设备级别上发生的一切的信息。您可以使用.NET中的System.Management命名空间(主要是ManagementObjectSearcher类)访问它。您可以使用类似于SQL的语法搜索WMI。以下是返回所有活动网络适配器的基本查询:
select * from Win32_NetworkAdapterConfiguration where IPEnabled = true
在生成的ManagementObjectCollection中,几乎可以看到任何使用IPConfig(以及更多)的内容。不幸的是,我不知道对象的哪个字段会有数据“XC99HT”。您可以始终执行ipconfig命令,然后使用正则表达式读取输出,但我不打算为您编写代码;-)(我希望有人能给你一个更好的答案)
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();
select * from Win32_NetworkAdapterConfiguration where IPEnabled = true