Для устранения неполадок в сети я хотел бы узнать реальную «скорость» сети для данного сетевого адаптера, которую можно увидеть, открыв «состояние» сетевого подключения в 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