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