今回は、この記事のWindowsバージョンです。
1. ログインの仕組みと対応環境
大学や企業の学内ネットワークでは、Wi-Fiや有線LANに接続しただけではインターネットにアクセスできません。
最初にブラウザでログインページ(いわゆるキャプティブポータル)が表示され、学籍番号やパスワードを入力する必要があります。
信州大学のACSU も同様で、認証されていない端末はインターネットや学内サーバにアクセスできません。利用者認証を通すことで「誰がネットワークを利用しているか」を明らかにし、安全に管理されています。ACSUには Web認証 と、教職員向けの MACアドレス認証 の2つの方式があります。
具体的なWeb認証の流れは次の通りです。
- まずはWi-FiやLANポートに接続する
- ユーザーが自分でブラウザを開き、ログインページ(
https://login.shinshu-u.ac.jp/cgi-bin/Login.cgi
)へアクセスする - そこでユーザID(学籍番号)とパスワードを入力し、「ログイン」ボタンを押す
- サーバに POSTリクエスト が送られ、認証に成功するとインターネット利用が解放される
正直、「ネット使うたびに毎回ログインって、めんどくさくないですか?」
1.1 ここで使えるのが curl
curl はコマンドラインでHTTPリクエストを送れるツールです。
つまり、ブラウザを開かなくても次のようにすればログイン動作を再現できます。
curl -L -c cookies.txt -b cookies.txt -X POST \
-d "uid=学籍番号&pwd=パスワード" \
https://login.shinshu-u.ac.jp/cgi-bin/Login.cgi
-
-L
: リダイレクトを追跡 -
-c cookies.txt
: cookie を保存 -
-b cookies.txt
: cookie を送信 -
-X POST
: POSTメソッドで送信 -
-d
: POSTするデータ(ここでは uid と pwd)
1.2 OSと環境
-
Windows 10 / 11 には標準で
curl.exe
が入っています - Linux / Mac でも同様のコマンドが利用可能
- 今回の記事は Windows環境に特化 して進めます
つまり、「ログインページをブラウザで開く → ユーザ名・パスワードを送信」を curl + batファイル に置き換えるのが今回の原理です。
2. ACSUログインを自動化するバッチスクリプト
まずは、ブラウザを使わずに curl
でログインする処理をバッチファイルにして、ダブルクリックで試せるようにしてみましょう。
手順① メモ帳を開く
※別にメモ帳じゃなくてもいいですが
- Windows のスタートメニューを開く
- 「メモ帳」を起動
手順② スクリプトを貼り付ける
以下の内容をコピーして、メモ帳に貼り付けます。
(学籍番号とパスワードは自分の情報に置き換えてください)
@echo off
curl -L -c cookies.txt -b cookies.txt -X POST -d "uid=学籍番号&pwd=パスワード" https://login.shinshu-u.ac.jp/cgi-bin/Login.cgi
pause
手順③ ファイルを保存する
- 「ファイル」→「名前を付けて保存」
- 保存する場所は分かりやすく デスクトップ
- ファイル名を
login.bat
にする - ファイルの種類を「すべてのファイル」 に変更する
- 保存
手順④ 実行してみる
- キャンパスのネットワーク(Wi-Fiでも有線LANでも可)につながっている状態で
- デスクトップにできた
login.bat
をダブルクリック - 黒い画面(コマンドプロンプト)が開き、
curl
が実行される - 同じ場所に
cookies.txt
が生成される - ブラウザを開いてみると、すでにインターネットが使えるようになっていれば成功!
ポイント
pause
が入っているので、実行後に Enterキー を押すまで画面が閉じません。
→ 結果を確認したら Enter を押せばOK。
3. ショートカットにする
login.bat
を毎回ダブルクリックしてもいいのですが、もっと便利にするには ショートカット を作って、キーボードショートカット(例:Ctrl + Alt + L
)で一発起動できるようにします。
手順① ショートカットを作る
- デスクトップにある
login.bat
を右クリック - 「その他のオプションを確認」をクリック
- 「送る」→「デスクトップ(ショートカットを作成)」をクリック
- デスクトップに
login.bat - ショートカット
が作成されます
手順② ショートカットキーを割り当てる
- 作成したショートカットを右クリック → 「プロパティ」
- 「ショートカット」タブを開く
- 「ショートカットキー」欄をクリックし、使いたいキーを入力
- 今回は
Ctrl + Alt + L
で設定
- 今回は
- 「適用」→「OK」
手順③ 実行してみる
- キャンパスのネットワーク(Wi-Fiでも有線LANでも可)につながっている状態で
-
Ctrl + Alt + L
を押す - 自動的に
login.bat
が起動し、ACSUログインが完了します(2.手順④のコマンドプロンプトが開く)
ウィンドウを自動で閉じたい場合
先ほどの login.bat
では最後に
pause
を入れているので、処理が終わったあとに「続行するには何かキーを押してください...」と表示され、Enterキーを押すまでウィンドウが残ります。
これは結果を確認したいときには便利ですが、完全に自動化したい場合には邪魔になります。
その場合は pause
を消して、代わりに
exit
と書いておくと、処理が終わったら 自動的にウィンドウが閉じる ようになります。
まとめると
-
pause
→ 処理結果を見てから手動で閉じたい場合に便利 -
exit
→ 完全自動化したい場合に便利
利用シーンに合わせて切り替えると良いです。
4. 環境に合わせた自動化
ここからは、バッチファイルをどうやって自動で動かすか を紹介します。
使っているPC環境によって最適な方法が異なるので、自分に合った方を選んでください。
- 研究室や固定PC(有線LANなど常時接続環境)を使っている人 👉 4.1 スタートアップで自動実行
- 自分のノートPC(Wi-Fiを切り替えて使う人) 👉 4.2 特定のWi-Fiに接続したときに実行
4.1 スタートアップで自動実行
研究室や固定PCのように「常に同じネットワークに有線LANでつながっている」環境では、Windows起動時に自動で login.bat
が走るようにする のが便利です。
手順
-
login.bat
のショートカットを作る -
Win + R
を押してshell:startup
と入力 - 開いた「スタートアップ」フォルダにショートカットをコピーする
これで次回のWindows起動時から、自動的にACSUログインが実行されます。
4.2 特定のWi-Fiに接続したときに実行
ノートPCを使っていると、家・カフェ・大学などいろいろなWi-Fiにつなぐことがありますよね。
その中で「キャンパスのWi-Fiに接続したときだけ、自動で login.bat
を実行したい」という人は、この方法を使います。
ここでは Windows に標準で入っている タスクスケジューラ を使います。
これは「ある条件になったら自動でプログラムを実行する」仕組みです。
手順① タスクスケジューラを開く
- スタートメニューを開く
- 「タスクスケジューラ」と入力してアプリを起動
手順② 新しいタスクを作る
- 右側の「タスクの作成」をクリック
- 「全般」タブでわかりやすい名前をつける(例:
ACSU Wi-Fi Login
) - 「ユーザーがログオンしているかどうかにかかわらず実行する」にチェックをいれる
手順③ トリガー(=発動条件)を設定する
-
「タスクの開始」で イベント時 を選ぶ
-
表示されたウィンドウで XMLタブ を開く
-
既存のコードを削除して、以下をコピペして「OK」をクリック
(Campus-WiFi は自分の大学Wi-Fiの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']='Campus-WiFi']]
</Select>
</Query>
</QueryList>
今回コピペしたXMLは、タスクスケジューラに
「どんなときに login.bat
を動かすか」 を教えるための条件文です。
大事な部分は2つだけです👇
-
EventID=8001
→ Wi-Fiの接続に成功したときに記録される番号です。 -
SSID='Campus-WiFi'
→ その中でも「Campus-WiFi」という名前のネットワークに接続したときだけに絞り込む条件です。
手順④ 実行するプログラムを設定
-
「プログラム/スクリプト」に
C:\Windows\System32\cmd.exe
と入力 -
「引数の追加」に
/c "C:\Users\<ユーザー名>\Desktop\login.bat"
(<ユーザー名> は自分のログインしているWindowsアカウント名を入力してください)
これで Wi-Fiに接続した瞬間に login.bat
が動く ようになります。
手順⑤ 保存して完了
- 「OK」を押すとユーザー名とパスワードを求められる場合があります(Windowsアカウントのものを入力)
- 設定完了!
- ボクの環境では、ここで一度再起動しないとタスクが正しく動きませんでした
設定後はPCを再起動してテストすることをおすすめします - 次回からキャンパスのWi-Fiにつないだとき、自動でログイン処理が走ります
5. まとめ
今回は、信州大学 ACSU を例に、Windows で学内ネットワークのログインを自動化する方法を紹介しました。
- 基本の仕組み:curl でログインフォームを再現
- バッチファイル化:ダブルクリックでログインできるように
-
ショートカットキー化:
Ctrl + Alt + L
など一発起動 -
環境に合わせた自動化:
- 研究室や固定PC → スタートアップで自動起動
- ノートPC → 特定のSSIDに接続したときにタスクスケジューラで実行
これで、毎回ブラウザを開いてログインする手間が大幅に減ります。
注意:セキュリティについて
ただし、この方法には注意点もあります。
- bat ファイルに 平文でID・パスワードを記述する のは危険です
(他人にPCを触られたときに漏洩リスクがあります) - より安全にするには:
- 資格情報を別ファイルに分ける
- Windowsの資格情報マネージャーや暗号化ストアを利用する
- PowerShellスクリプトにして
Get-Credential
などを活用する
今回紹介した方法は「まずは簡単に動かす」ためのアプローチです。
本格的に使い続ける場合は、環境やセキュリティ要件に合わせて改善してください。
さいごに
ここで紹介した以外にも、Wi-Fi認証を自動化する方法はいくつか存在します。
(例:専用のWi-Fiクライアントソフトを使う、証明書ベースの認証に切り替えるなど)
ですが、「バッチファイル + curl」 は最も手軽でわかりやすく、学内ネットワークの勉強にもなります。
この記事が、同じように「学内Wi-Fiログインを自動化したい」と思っている人の参考になれば幸いです。