Является ли устройство с наименьшим DeviceID надежным способом найти первый порт LAN на машине с 2 портами?

Я искал способ детерминированного получения первого порта локальной сети на наших серверах аналогичного, но различного оборудования. Я не видел ничего, что подтверждает, что левый или правый порт всегда будет устройством 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 ответ1

1

Это действительно может варьироваться в зависимости от производителя и даже от модели NIC/ материнской платы. Скорее всего, вам придется самостоятельно проверить NIC/ материнскую плату, чтобы увидеть идентификаторы портов (и даже в этом случае вам не гарантируется, что они будут напечатаны). Самый надежный способ убедиться в этом - подключить только один из портов, затем проверить систему и посмотреть, какой интерфейс сообщает об исправности.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .