![确定主物理 LAN 端口 (device0)](https://linux22.com/image/1419834/%E7%A1%AE%E5%AE%9A%E4%B8%BB%E7%89%A9%E7%90%86%20LAN%20%E7%AB%AF%E5%8F%A3%20(device0).png)
具有最低 DeviceID 的设备是否是查找具有 2 个端口的机器上的第一个 LAN 端口的可靠方法?
我一直在寻找一种方法来确定性地获取我们相似但不同硬件的服务器上的第一个 LAN 端口。我还没有看到任何可以确认左端口或右端口始终是设备 0 或 1 的东西。我猜左边的设备(几乎)总是第一个硬件端口,右边的是第二个,但我认为这只是惯例,而不是保证。
我遇到的答案是为每个适配器设置一个手动度量值,但这是一种软件配置方法。虽然这似乎是新机器的合理答案,但我仍然必须确保已经部署在世界各地的机器能够可预测地运行,以便我们的非技术客户始终可以插入同一个端口。
这个 powershell 脚本似乎可以完成我想要的操作,但是也许我只是还没有找到一台不满足要求的测试机器。
#get only the physical network adapters
#the device with the lowest DeviceID is the primary
$netAdapters = Get-WmiObject -Class Win32_NetworkAdapter | ?{$_.PhysicalAdapter} | ?{$_.Name -notlike 'Microsoft*'}
Write-Host($netAdapters | Format-table | Out-String)
答案1
这确实可能因制造商甚至 NIC/主板型号而异。最有可能的是,您必须亲自检查 NIC/主板以查看端口 ID 是什么(即使这样,也不能保证它们会被打印出来)。最万无一失的方法是只连接其中一个端口,然后检查系统并查看哪个接口报告为已启动。