うたカモ技術ブログ

Windows Wi-Fi

Windows   netshコマンドによるWi-Fi接続方法

post:     update: 

今回は、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の認証・暗号化方式を忘れてしまった場合はスキャンで知ることができます。)

項目 設定値
プロファイル名
SSID
パスフレーズ
認証方式
暗号化方式