Eu tenho um arquivo/script em lote que se desconecta da rede WiFi atual, conecta-se a uma rede WiFi específica e define um endereço IP estático e funciona no Windows 7, mas não no Windows 10 se o Wi-Fi estiver "desligado". Como faço para "ligar" o Wi-Fi através da linha de comando (ou arquivo/script em lote, já que normalmente consigo descobrir a sintaxe de um do outro)?
Se ajudar, o painel de controle -> Rede e Internet -> Conexões de Rede, Wi-Fi está habilitado, mas tem um X vermelho e netsh wlan connect name=%ltName%
não funciona (onde ltName está definido como o nome correto do perfil Wi-Fi e é uma rede conhecida). Além disso, o botão deslizante Configurações, Wi-Fi na parte superior da página está desativado.
Além disso, o script é executado como Administrador e executando o Windows 10 Pro versão 1607.
Roteiro:
:: 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
Responder1
Pelo que eu sei e pude descobrir depois de pesquisar extensivamente, não há como fazer isso diretamente. Desligar o Wi-Fi é algo semelhante ao modo avião, e também não há como desligar o modo avião com comandos. Um truque extremamente feio seria escrever um script que simule o pressionamento de teclas para realizar a tarefa. Em vbscript
, seria assim (testado, pode ser necessário alterar os tempos limite)
set shell = CreateObject("WScript.Shell")
shell.run"ms-settings:network-wifi"
WScript.Sleep 2500
shell.SendKeys" "
WScript.Sleep 1500
shell.SendKeys"%{F4}"
Então você pode chamar o script como
cscript toggle-wifi.vbs
Você também pode trabalhar com ms-availablenetworks:
o que leva menos tempo para abrir