Включите Wi-Fi через командную строку

Включите Wi-Fi через командную строку

У меня есть пакетный файл/скрипт, который отключается от текущей сети WiFi, подключается к определенной сети 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

Насколько я знаю и смог найти после тщательного поиска, нет способа сделать это напрямую. Отключение 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:тем, что занимает меньше времени на открытие

Связанный контент