37

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

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

4 ответа4

59

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

wmic NIC where NetEnabled=true get Name, Speed

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

5

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

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

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

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

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

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

2

Я хотел бы внести свой вклад в вашу долю. Если вам нужно запустить 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/
0

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

cat /sys/class/net/enp6s0/speed

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

cat /sys/class/net/eth0/speed

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