現在のWiFiネットワークから切断し、特定のWiFiネットワークに接続して、静的IPアドレスを設定するバッチファイル/スクリプトがあります。これは、Windows 7では機能しますが、Wi-Fiが「オフ」の場合はWindows10では機能しません。コマンドライン(または通常は一方の構文を他方から理解できるため、バッチファイル/スクリプト)を介してWi-Fiを「オン」にするにはどうすればよいですか?
問題がなければ、コントロールパネル->ネットワークとインターネット->ネットワーク接続、Wi-Fiは有効になっていますが、赤いXとnetsh wlan connect name=%ltName%
は機能しません(ltNameが正しいWi-Fiプロファイル名に設定されており、既知のネットワークである場合)。また、ページの上部にある[設定]の[Wi-Fi]スライダーボタンはオフになっています。
また、スクリプトは管理者として実行され、Windows 10Proバージョン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
私が知り、広範囲に検索した後に見つけることができる限り、これを直接行う方法はありません。 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:
開くのに時間がかからない