概要
指定したSSIDのWiFiに接続したとき、何らかの処理を自動で実行させたいときの記事です。
用途としてはたとえば
- テレワークで自宅Wifiにつなぐときと、会社WiFiにつなぐときでプロキシなど何らかの設定を変える
- 自宅WiFi以外につないだとき警告する
などが考えられます。
設定の流れ
以下の流れで設定します。
- トリガーにしたいWiFiのSSIDを調べる
- 実行したい処理をスクリプト化する
- タスクスケジューラに登録する
本記事ではこのうち項番3を扱います。
タスクスケジューラの設定方法
WiFiに接続したとき、Windowsの Microsoft-Windows-WLAN-AutoConfig/Operational
というログにイベントID 8001 でイベントが記録されます。
タスクスケジューラでこのイベントをキャッチして登録したスクリプトを実行します。
1. トリガータブを開く
2. タスクの開始でイベント時を選択する
3. カスタムを押す
4. XMLタブで手動でクエリを編集するにチェックを入れる
5. 以下のクエリをいれる
Data='指定したいSSIDを入力'
の部分に自分のSSIDを入れます。
<QueryList>
<Query Id="0" Path="Microsoft-Windows-WLAN-AutoConfig/Operational">
<Select Path="Microsoft-Windows-WLAN-AutoConfig/Operational">
*[System[(EventID=8001)]]
and
*[EventData[Data[@Name='SSID'] and (Data='指定したいSSIDを入力')]]
</Select>
</Query>
</QueryList>
そのほかの設定は本記事とは関係ないため割愛します。
これで指定したSSIDにつないだとき、指定したスクリプトが実行できます。
切断時も同様に自動化できる
ちなみに切断時はイベントID 8003でキャッチできるため、同様の仕組みで切断時の処理を追加できます。
切断されたら自動でつなぎ直したいとか、複数のWiFiがあるから別のものへつなぎたいとかに使えそうです。