Para solucionar um problema de rede, gostaria de consultar a "velocidade" real da rede para um determinado adaptador de rede, que pode ser vista ao abrir o "status" de uma conexão de rede no Windows:
No entanto, quero perguntar isso pela linha de comando ou com uma ferramenta pequena e separada, porque preciso solicitar isso para várias conexões de rede e não confio no usuário para buscar as informações corretamente. A configuração "Speed/Duplux" da placa de rede é sempre "Auto Negotiate", então não posso dizer qual "Speed" irei obter.
Responder1
Tente esta consulta WMI:
wmic NIC where NetEnabled=true get Name,Speed
Isso deve fornecer a velocidade de todas as conexões de rede ativas.
Editar: como foi apontado, esta consulta deve ser modificada para funcionar no PowerShell (embora funcione bem no cmd.exe). Então, novamente, no PowerShell você não precisa usar o WMI:
Get-NetAdapter | where Status -eq "Up" | select InterfaceDescription, LinkSpeed
Como bônus, isso fornece a velocidade em um formato agradável e legível (por exemplo, "1 Gbps"), em vez do número de bits por segundo.
Responder2
Da resposta de Indrek:
wmic NIC onde NetEnabled = true obtém nome, velocidade
funcionará no prompt de comando. Para uso do PowerShell:
wmic NIC where "NetEnabled='true'" get "Name,Speed"
(Oondecláusula e qualquerpegaratributo (como Nome e Velocidade), deve ser colocado entre aspas duplas e delimitado por vírgula).
// Editar #1: A expressão GET Name,Speed deve ser colocada entre um único conjunto de aspas duplas. As expressões Get podem não ter espaço entre elas
Responder3
Gostaria de contribuir com a sua parte. Se precisar executar o sed no Windows, você pode baixar o UnxUtils e extrair o sed.exe em c:\Windows\System32
Então, quando você canaliza com sed como sugeriu, funciona. (janelas 8.1)
Obrigado.
wmic NIC where NetEnabled=true get Name, Speed | sed -e s/000000000/Gbit/ | sed -e s/000000\b/Mbit/
Responder4
Você também pode usar:
cat /sys/class/net/enp6s0/speed
Ou quando for eth0, para determinar sua velocidade de conexão (100 ou 1000):
cat /sys/class/net/eth0/speed