以编程方式确定网卡在Windows上是集成的还是分立的

Programmatically determine whether a network card is integrated or discrete on Windows

本文关键字:集成 Windows 方式确 编程 网卡      更新时间:2023-10-16

我知道我可以使用GetAdaptersAddresses来检索计算机上网络接口的信息。此外,我想确定哪些接口指的是集成在主板上的网卡。需求与这里讨论的类似:https://stackoverflow.com/a/3530362/2833126/。这里接受的答案是检查卡是否是PCI设备。我不认为这将工作,因为我相信集成卡被报告为PCI设备(我现在实际上不能测试这个,因为我现在无法访问Windows机器……至少它们会出现在Linux的lspci输出中)。

这个用例类似于上面链接的SO帖子中提到的:基于MAC地址生成唯一的系统ID。我想使用集成卡的MAC地址,因为它连接到主板上,对于我的问题,我希望系统ID与主板对应。

检查Win32_OnBoardDevice类
在powershell中,你可以这样做:

PS C:temp> gwmi Win32_OnBoardDevice|?{$_.devicetype -eq 5} |select -expand description
Broadcom 5754 NetXtreme Gigabit Controller