네트워크 문제를 해결하기 위해 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
보너스로 초당 비트 수가 아닌 사람이 읽을 수 있는 형식(예: "1Gbps")으로 속도를 제공합니다.
답변2
Indrek의 답변에서 :
NetEnabled=true인 wmic NIC는 이름, 속도를 얻습니다.
명령 프롬프트에서 작동합니다. PowerShell 사용의 경우:
wmic NIC where "NetEnabled='true'" get "Name,Speed"
(그만큼어디조항 및 기타얻다속성(예: 이름 및 속도)은 큰따옴표로 묶고 쉼표로 구분해야 합니다.
// 편집 #1: GET 표현식 Name,Speed는 단일 큰따옴표 세트로 묶어야 합니다. Get 표현식 사이에 공백이 있어서는 안 됩니다.
답변3
나는 당신의 몫에 기여하고 싶습니다. Windows에서 sed를 실행해야 하는 경우 UnxUtils를 다운로드한 다음 sed.exe를 c:\Windows\System32에 추출할 수 있습니다.
그런 다음 제안한 대로 sed로 파이프하면 작동합니다. (윈도우 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