CodeWindows

無線LANのSSID設定バッチファイル【簡単】

Code

無線LANを複数のPCへ展開する際に、利用できるバッチファイルを作成しました。

バッチファイルをクリックするだけで、パスワードなどの入力もなして無線LAN設定する事ができるため、パスワード間違えなども防止できます。

また、このバッチファイルをグループポリシー経由でPCに仕込むことで完全に自動で任意の無線LAN設定することが可能です。定期的にSSIDのパスワード変更も楽にすることができます。

1. 手動で無線LANプロファイルを追加

まずは配布したい無線LANプロファイルを手動で追加します。
普通にパスワード入力してSSIDに接続してください。

2. プロファイルをExportする

次に↑で作成された無線LANプロファイルをExportします。

まずは1で作成した無線LANプロファイルが存在するかを確認したら、

> netsh wlan show profiles

フォルダ(今回はC:\WifiProfileですが、どこでも可)にExportします。

> netsh wlan export profile name="<無線プロファイル名>" folder="C:\WifiProfile"

3. 共有フォルダなどにExportしたプロファイルを保存

バッチファイルからアクセスできる場所に、Exportしたプロファイル(XMLファイルとフォルダ)を保存します。
今回は「\fsv\wlan\profile.xml」を想定しています。

4. バッチファイル作成①

以下のようなバッチファイルを作成します。

@echo off
set wlan_profile="\\fsv\wlan\profile.xml"
netsh wlan add profile filename=%wlan_profile% > nul 2>&1
netsh wlan set profileparameter name="<無線プロファイル名>" keymaterial=<パスワード> connectionmode=auto > nul 2>&1

5. バッチファイル作成②改良版

①のスクリプトでは実行するたびに上書きで設定がされます。
グループポリシーなどで毎日展開している場合だと、上書き時に無線LAN接続が途切れてしまうことがあるので、無線LANがすでに設定されている場合にはスキップするようにしました。

netsh wlan show profilesでプロファイル名を取得した後、文字列を切り取ってます(~-9%の部分)
プロファイル名の文字数などに合わせて調整してください。

@echo off
set wlan_profile="\\fsv\wlan\profile.xml"

for /f "useback1 delims=" %%A in (`netsh wlan show profiles ^| findstr <プロファイル名>) do set WLAN=%%A
set PROFILE=%WLAN:~-9%

if %PROFILE% == <プロファイル名> (
    REM echo "skip set wlan profile"
) else (
    netsh wlan add profile filename=%wlan_profile% > nul 2>&1
    netsh wlan set profileparameter name="<無線プロファイル名>" keymaterial=<パスワード> connectionmode=auto > nul 2>&1
)

今回は以上となります。

コメント