Команда Netsh не обновляет сети
Чтобы показать уровень сигнала беспроводных сетей (в Windows 10.)
Я использую:
netsh wlan show networks mode=bssid | findstr /I /R "SSID | signal"
и я получаю следующий результат:
SSID 1 : Tecnun/CEIT-Guest
BSSID 1 : 38:20:56:a1:d5:4e
Signal : 35%
BSSID 2 : 38:20:56:8d:66:4e
Signal : 35%
BSSID 3 : 38:20:56:8d:9e:a1
Signal : 40%
SSID 2 : eduroam
BSSID 1 : 70:62:b8:16:e6:42
Signal : 28%
. . . etc
Но сигнал может измениться, например, если я перееду в другое место.
Если я повторяю одну и ту же команду в другом месте и получаю один и тот же ответ, у меня должен быть разный уровень сигнала, даже в разных сетях.
Только когда я нажимаю значок WiFi (настройки) на панели инструментов и повторяю команду, ответ команды обновляется, например:
SSID 1 : DBUS_488
BSSID 1 : 00:12:7b:43:ae:63
Signal : 28%
SSID 2 : prueba_1
BSSID 1 : 38:20:56:a1:d5:41
Signal : 33%
. . .etc
Есть ли другой способ (команда или что-то еще), чтобы сделать это обновление?
1 ответ
Сети обновляются после завершения сканирования вашей картой Wi-Fi. Команда netsh, которую вы выполняете, не запрашивает сканирование, она отображает только кэшированные результаты последнего сканирования.
Открытие всплывающего окна сети обновляет результаты, поскольку всплывающее окно сети запрашивает сканирование при первом открытии.
Нет команды netsh для запроса такого сканирования. Вам придется написать некоторый код, используя либо функцию Win32 WlanScan (обертки C# существуют, если вы предпочитаете это), либо функцию WinRT ScanAsync.