Windows netshコマンドによるWi-Fi接続方法
今回は、Windowsのコマンドプロンプト上でnetshコマンドを利用してWi-Fiに接続する方法をメモしました。
Windowsだと、UIでWi-Fi接続することが一般的なため、特段の理由がない限り、コマンドプロンプトの操作で Wi-Fiに接続する機会はないと思います。
しかし、知っていて損ではないので、このメモ記事に接続方法を掲載します。
一般的な使い方
接続状況の確認
WLANインタフェースの現在の接続状況を表示します。
netsh wlan show interfaces
サイトサーベイ(スキャン)
ビーコン情報を収集して、周辺環境のアクセスポイント(SSID)をコンソールに表示します。
netsh wlan show networks mode=bssid
既知のWi-Fiの確認
登録されているWi-Fiプロファイルを確認します。
netsh wlan show profile
既知のWi-Fiに接続
過去に接続したことのあるWi-Fi(ProfileName)に接続します。
netsh wlan connect name="ProfileName"
現在の無線接続を切断
現在、接続中の無線Wi-Fiを切ります。
netsh wlan disconnect
Wi-Fiプロファイルの作成とインポート
まだWi-Fi接続したことがないSSIDに対して、接続を試行するには 接続先の情報をWi-Fiプロファイルとして作成してシステムにインポートする必要があります。
Wi-Fiプロファイルの作成
ここでは、Wi-FiプロファイルをC:\path\to\WLANProfile.xmlとして作成する例を掲載します。
例として、今回は以下の情報でWi-Fiプロファイルを作成しました。
| 項目 | 設定値 |
|---|---|
| プロファイル名 | OpenWrt |
| SSID | OpenWrt |
| パスフレーズ | 12345678 |
| 認証方式 | WPA2PSK |
| 暗号化方式 | AES |
ちなみに、SSIDは16進数に変換したものをhexタグで記載するようなので、 16進数エンコードをする機能をこのページの以下に追加し、これで算出できたものを設定しました。
<?xml version="1.0"?>
<WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1">
<name>OpenWrt</name>
<SSIDConfig>
<SSID>
<hex>4F70656E577274</hex>
<name>OpenWrt</name>
</SSID>
</SSIDConfig>
<connectionType>ESS</connectionType>
<connectionMode>manual</connectionMode>
<MSM>
<security>
<authEncryption>
<authentication>WPA2PSK</authentication>
<encryption>AES</encryption>
<useOneX>false</useOneX>
</authEncryption>
<sharedKey>
<keyType>passPhrase</keyType>
<protected>false</protected>
<keyMaterial>12345678</keyMaterial>
</sharedKey>
</security>
</MSM>
<MacRandomization xmlns="http://www.microsoft.com/networking/WLAN/profile/v3">
<enableRandomization>false</enableRandomization>
</MacRandomization>
</WLANProfile>
なお、WindowsのWi-Fiプロファイルは通常、以下のディレクトリパスに保存されています。 GUI操作でWi-Fi接続をした場合はこのディレクトリパスの中を見ると対応するプロファイルが見つかります。
C:\ProgramData\Microsoft\Wlansvc\Profiles\Interfaces
Wi-Fiプロファイルのインポートと接続試行
上記で作成したプロファイルを次のコマンドでインポートします。
netsh wlan add profile filename="C:\path\to\WLANProfile.xml"
あとは、以下でWi-Fi接続ができます。(上記のxmlファイルはnameタグでプロファイル名をOpenWrtと命名しています。)
netsh wlan connect name="OpenWrt"
Wi-Fiプロファイルの削除
作成したWi-Fiプロファイルは次のコマンドで削除可能です。(上記のxmlファイルはnameタグでプロファイル名をOpenWrtと命名しています。)
netsh wlan delete profile name="OpenWrt"
追記:Wi-Fiプロファイル作成ツール
Wi-Fiプロファイルを作成する機能をこのページに付ければもっと便利なことに気づきました。
ユーザーが設定項目を入力して適用ボタンを押すとWi-Fiプロファイルが作成される機能を以下に掲載します。 (接続したいWi-Fiの認証・暗号化方式を忘れてしまった場合はスキャンで知ることができます。)