2012-04-16 07:57:40 +0000 2012-04-16 07:57:40 +0000
40
40

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

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

Однако я хочу запросить это через командную строку или с помощью небольшого отдельного инструмента, поскольку мне нужно запросить это для нескольких сетевых подключений, и я не доверяю пользователю получать информацию должным образом. Настройка сетевой карты “Скорость/Дуплюкс” - это всегда “Auto Negotiate”, поэтому я не могу сказать из этого, какую “Скорость” я получу.

Ответы (4)

63
63
63
2012-04-16 08:18:22 +0000

Попробуйте этот WMI-запрос:

wmic NIC where NetEnabled=true get Name, Speed

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

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

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

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

6
6
6
2016-06-04 00:36:35 +0000

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

wmic NIC, где NetEnabled=true get Name, Speed

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

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

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

// Правка #1: GET выражение Имя,Скорость должно быть заключено в один набор двойных кавычек. Между выражениями Get может не быть пробела

2
2
2
2015-04-16 16:15:45 +0000

Я хотел бы внести свой вклад в вашу долю. Если вам нужно запустить 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/
-1
-1
-1
2018-09-26 20:55:48 +0000

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

cat /sys/class/net/enp6s0/speed

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

cat /sys/class/net/eth0/speed

Похожие вопросы

3
19
3
10
4