也許有這樣的需求,當我們在公司的時候,連公司的網絡后需要開啟網關驗證程序,在家里連網后需要開啟VPN。即:希望在連接到某個特定的網絡時執行某些特定的程序。
步驟0.准備
思路理清:當網絡發生變動時,會有某些事件被記錄,那么我們執行的特定程序就在某些特定事件被記錄之后。
相關程序:控制面板-管理工具-查看日志事件,控制面板-管理工具-計划任務
[01]
[02]
步驟1. 連接網絡,得到特定事件的ID。
查看網卡的連接日志事件 中 左側樹展開:應用程序和服務日志-Microsoft-Windows-WLAN-AutoConfig-Operational ,首先清空這里的日志,然后連接公司的網絡。接下來就可以看到一系列的事件。
[11]
從事件的詳細信息中,確認對應網絡的SSID。(加入不同的網絡事件ID會不一樣)
[12]
步驟2.將執行程序的操作附加到特定事件發生后
[21]
設置完成后在計划任務中可以看到對應的事件
[22]
步驟3.當這個網絡斷開連接后,關閉上步執行的程序
在網絡連接正常的情況下清空 Microsoft-Windows-WLAN-AutoConfig-Operational 的日志,然后斷開網絡。從中查找對應的事件ID,然后重復步驟2.
PS:linux、ubuntu 的直接把腳本放在 /etc/network/if-up.d/ 和/etc/network/if-dn.d/ 下即可,MAC OSX 還沒有找到對應方法,如果有知道的還請告知,謝謝。