4

У меня есть пакетный файл / скрипт, который отключается от текущей сети Wi-Fi, подключается к определенной сети WiFi, затем устанавливает статический IP-адрес, и он работает в Windows 7, но не в Windows 10, если Wi-Fi "выключен". Как "включить" Wi-Fi через командную строку (или пакетный файл / скрипт, так как обычно я могу определить синтаксис одного из другого)?

Если это помогает, панель управления -> Сеть и Интернет -> Сетевые подключения, Wi-Fi включена, но имеет красный крестик и netsh wlan connect name=%ltName% не работает (где для ltName установлено правильное значение Имя профиля Wi-Fi и это известная сеть). Кроме того, настройки, кнопка слайдера Wi-Fi в верхней части страницы говорит о выключении.

Также скрипт запускается от имени администратора и работает под управлением Windows 10 Pro версии 1607.

Автор сценария:

:: disconnect from the current network
netsh wlan disconnect

set ltName=insertNameHere

:: now connect to the wifi
netsh wlan connect name=%ltName%
netsh interface ip set address "Wi-Fi" static xxx.xxx.xxx.xxx 255.255.255.0

::pause

1 ответ1

3

Насколько я знаю и смог найти после тщательного поиска, нет способа сделать это напрямую. Отключение Wi-Fi похоже на режим полета, и отключить режим полета с помощью команд также невозможно. Чрезвычайно уродливый хак - написать скрипт, который имитирует нажатия клавиш для выполнения этой задачи. В vbscript это будет выглядеть так (протестировано, вам может понадобиться изменить время ожидания)

set shell = CreateObject("WScript.Shell")
shell.run"ms-settings:network-wifi"
WScript.Sleep 2500
shell.SendKeys" "
WScript.Sleep 1500
shell.SendKeys"%{F4}"

Затем вы можете вызвать скрипт как

cscript toggle-wifi.vbs

Вы также можете работать с ms-availablenetworks: для открытия требуется меньше времени

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