Назад | Перейти на главную страницу

Определение того, какое сетевое соединение принадлежит какому физическому порту сетевой карты?

В Windows / Windows Server, если у меня есть физическая сетевая карта с двумя или четырьмя портами, есть ли скриптовый / программный способ определить, какое «сетевое подключение» (например, «подключение по локальной сети 3») является связан с каким физическим портом сетевой карты?

Я быстро просмотрел классы win32_networkadapter и win32_networkadapterconfiguration, но не увидел ничего полезного.

Что ж, на выходе ipconfig /all включает MAC-адреса всех портов в системе.

Насколько мне известно, нет жесткого и быстрого способа программно сопоставить эти MAC-адреса с физическими портами. Обычно физический интерфейс в таких картах имеет последовательные MAC-адреса. В случае дополнительной карты PCI, MAC-адреса обычно увеличиваются численно, начиная с интерфейса, ближайшего к шине PCI.

В случае встроенных портов я бы просто посмотрел на таблицу CAM на коммутаторе, к которому он подключен, а затем проследил бы кабели.

Большинство высокопроизводительных карт поставляются с утилитой, которая позволяет выполнять сложные задачи настройки. Один из вариантов обычно - заставить индикаторы порта мигать по заданному шаблону, чтобы вы могли идентифицировать порты.

Большая проблема в том, что Windows не перечисляет установленные сетевые адаптеры в каком-либо определенном порядке. Это обычная проблема с конфигурацией сервера. Предполагая, что вы настраиваете сервер вручную (что мы обычно делаем), вы можете просто закрыть / не закрывать порты, чтобы увидеть, какие из них к чему подключены.

Если вам нужно, чтобы ваши сетевые адаптеры были перечислены в определенном порядке, я использую один трюк, чтобы сопоставить порты, как описано выше, а затем в диспетчере устройств удалить сетевые адаптеры, которые перечислены неправильно. Когда Windows переустановит сетевые адаптеры, они снова будут назначены случайным образом. После того, как вы проделаете это несколько раз, не трогая те, которые находятся в правильном порядке, перечисление будет правильным.

Если вам нужна возможность перечисления сетевых адаптеров со сценариями, Кельвин Вонг проделал некоторую работу при этом с помощью запросов WMI для просмотра реестра. Обратите внимание, что настройки сетевого адаптера в реестре требуют от вас перекрестных ссылок на несколько записей в разных местах, поэтому с вашей стороны потребуется некоторая работа, чтобы убедиться, что ваш скрипт спроектирован правильно.

Вот моя находка для серверов HP DL380.

Перейдите в Диспетчер устройств -> Сетевые адаптеры -> Свойства адаптера -> Подробности, затем в раскрывающемся списке свойств выберите «Информация о местоположении», затем в поле «Значение» вы увидите что-то вроде «Шина PCL 2, устройство 0, функция. 0 ". Здесь номер функции может сказать вам, с каким физическим портом она связана. Функция 0 - порт 1, функция 1 - порт 2, функция 2 - порт 3, функция 3 - порт 4. Надеюсь, это поможет.

Обязательно перейдите в диспетчер устройств и отключите / включите по одному нику за раз, отслеживая, что отключено / включено в сетевых подключениях, затем вы можете определить порты.