寻找哪个networking连接属于哪个物理网卡端口?

在Windows / Windows Server中,如果我有一个有两个或四个端口的物理网卡,是否有脚本/编程的方式来确定哪个“networking连接”(例如“本地连接3”)是与哪个物理网卡端口关联?

我快速浏览了win32_networkadapter和win32_networkadapterconfiguration类,但没有看到任何有用的信息。

最大的问题是Windows并没有按照特定的顺序枚举安装的NIC。 这是服务器configuration的常见问题。 假设你手动configuration服务器(这是我们通常所做的),你可以closures/不closures端口,看看哪些是连接到什么。

如果您需要以特定顺序枚举您的NIC,我使用的一个技巧是如上所述映射端口,然后在设备pipe理器中删除错误列举的NIC。 当Windows重新安装NIC时,它们将被随机分配。 这样做了几次,而不是触摸正确的顺序,枚举将是正确的。

如果您需要一个可编程的NIC枚举function, Kelvin Wong已经使用WMI查询来查看registry。 请注意,registry中的网卡设置要求您在不同位置交叉引用多个条目,因此您需要做一些工作来确保您的脚本devise正确。

那么ipconfig /all的输出就包含了系统中所有端口的MAC地址。

据我所知,没有硬性的和快速的方法来将这些MAC地址与物理端口进行编程关联。 通常,像这样的卡中的物理接口具有顺序的MAC地址。 在附加PCI卡的情况下,从最靠近PCI总线的接口开始,MAC地址通常在数字上增加。

在内置端口的情况下,我只要看看它连接的交换机上的CAM表,然后跟踪电缆。

大多数高端卡都带有一个实用程序,可以让您执行高级configuration任务。 其中一个选项通常是使端口上的指示灯以设定模式闪烁,以便识别端口。

以下是我对HP DL380服务器的发现。

进入设备pipe理器 – >networking适配器 – >适配器属性 – >细节,然后在属性下拉列表中select“位置信息”,然后在“数值”框中,您将看到类似于“PCL bus 2,device 0,function 0" 。 这里函数的编号可以告诉你它与哪个物理端口关联。 function0是端口1,function1是端口2,function2是端口3,function3是端口4.希望这有助于。

一定要去设备pipe理器,一次禁用/启用一个NIC,同时监视networking连接中被禁用/启用的内容,然后确定端口。