Команда 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.

Другие вопросы по тегам