コマンドラインでWi-Fiをオンにする

コマンドラインでWi-Fiをオンにする

現在の WiFi ネットワークから切断し、特定の WiFi ネットワークに接続して静的 IP アドレスを設定するバッチ ファイル/スクリプトがあります。これは、Windows 7 では機能しますが、Wi-Fi が「オフ」になっている Windows 10 では機能しません。コマンド ライン (またはバッチ ファイル/スクリプト。通常は構文を区別できるので) で Wi-Fi を「オン」にするにはどうすればよいでしょうか。

参考になれば幸いですが、コントロール パネル -> ネットワークとインターネット -> ネットワーク接続で、Wi-Fi は有効になっていますが、赤い X が表示され、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:開くのに時間がかからないものでも作業できます

関連情報