Как определить скорость (быстрый или гигабитный Ethernet) сетевого соединения через командную строку Windows

Как определить скорость (быстрый или гигабитный Ethernet) сетевого соединения через командную строку Windows

Для устранения неполадок в сети я хотел бы узнать реальную «скорость» сети для данного сетевого адаптера, которую можно увидеть, открыв «состояние» сетевого подключения в Windows: Установка скорости

Однако я хочу запросить это через командную строку или с помощью небольшого отдельного инструмента, потому что мне нужно запросить это для нескольких сетевых подключений, и я не доверяю пользователю правильно извлекать информацию. Параметр сетевой карты "Speed/Duplux" всегда "Auto Negotiate", поэтому я не могу сказать, какую "Speed" я получу.

решение1

Попробуйте выполнить этот запрос WMI:

wmic NIC where NetEnabled=true get Name,Speed

Это должно дать вам скорость всех активных сетевых подключений.

Редактировать: как уже было отмечено, этот запрос нужно изменить для работы в PowerShell (хотя он отлично работает в cmd.exe). С другой стороны, в PowerShell вам вообще не нужно использовать WMI:

Get-NetAdapter | where Status -eq "Up" | select InterfaceDescription, LinkSpeed

В качестве бонуса скорость отображается в удобном для восприятия формате (например, «1 Гбит/с»), а не в виде количества бит в секунду.

решение2

Из ответа Индрека:

wmic NIC, где NetEnabled=true получить Имя, Скорость

будет работать в командной строке. Для PowerShell используйте:

wmic NIC where "NetEnabled='true'" get "Name,Speed"

(Theгдепункт, и любойполучатьатрибут (например, Имя и Скорость) должен быть заключен в двойные кавычки и разделен запятыми).

// Правка № 1: GET выражение Name,Speed ​​должно быть заключено в один набор двойных кавычек. Выражения Get не могут иметь пробел между ними

решение3

Я хотел бы внести свой вклад в вашу акцию. Если вам нужно запустить sed в Windows, вы можете скачать UnxUtils, затем извлечь sed.exe в c:\Windows\System32

Затем, когда вы подключаете sed, как вы предложили, это работает. (Windows 8.1)

Спасибо.

wmic NIC where NetEnabled=true get Name, Speed | sed -e s/000000000/Gbit/ | sed -e s/000000\b/Mbit/

решение4

Вы также можете использовать:

cat /sys/class/net/enp6s0/speed

Или, если это eth0, чтобы определить скорость вашего соединения (100 или 1000):

cat /sys/class/net/eth0/speed

Связанный контент