由於經常在家上班,當需要連接客戶主機時,都要先撥接公司的虛擬私有網路(VPN),然後才能開始連線。但每次都要用鍵盤+滑鼠點個好幾次才能連接完成,覺得太浪費時間了,不自動化不行。所以這就花了點時間研究如何用批次檔或快速鍵來啟動 VPN 連線,本篇文章講解每個步驟與設定技巧。
傳統的連接方法
我通常都要用以下步驟建立 VPN 連線:
- 按下快速鍵
Win+I
- 輸入
VPN
搜尋
- 按下方向鍵
↓
並按下 Enter
鍵
- 按下
Tab
鍵並按下 Enter
鍵選取 VPN 連接項目
- 按下
Tab
鍵跳到 連線
按鈕
- 按下
Space
鍵啟動 VPN 連線

而每次要關閉連線時,又要做一次類似的操作,當經常這樣做的時候,就有點煩人了。
使用命令列工具進行連線
在 Windows 10 有內建一個 rasdial.exe
工具,位於 C:\Windows\System32
路徑下,其用法如下:
C:\Windows\System32>rasdial.exe /?
使用方式:
rasdial.exe entryname [username [password|*]] [/DOMAIN:domain]
[/PHONE:phonenumber] [/CALLBACK:callbacknumber]
[/PHONEBOOK:phonebookfile] [/PREFIXSUFFIX]
rasdial.exe [entryname] /DISCONNECT
rasdial.exe
請參閱我們的線上隱私權聲明:
'https://go.microsoft.com/fwlink/?LinkId=521839'
這個工具很神奇,在微軟官方文件中完全找不到任何文件,只有 Win32 API 的 C++ 說明文件而已。
以下是 rasdial.exe
工具的使用範例:
-
撥接 VPN
rasdial.exe VPNName Username Pa$$w0rd
VPNName
就是你的 VPN 連線名稱
Username
就是你的 VPN 帳號
Pa$$w0rd
就是你的 VPN 密碼,且必須輸入明碼 (Plain Password)
- 注意:就算你在 VPN 連線項目已經設定過密碼,這邊還是要再打一次一樣的!
-
掛斷 VPN
rasdial.exe VPNName /DISCONNECT
上述指令寫成批次檔就可以用滑鼠雙擊連接/掛斷,相當方便!
設定 AutoHotkey 自動連線
不過對於一個真正的懶人來說,批次檔是不夠的,還需要有快速鍵才能滿足啊!
以下是我寫好的 AutoHotkey 命令腳本:
-
撥接 VPN ( 快速鍵: Ctrl-Alt-Shift-V
)
^!+v::
RunWait, rasdial.exe VPNName Username Pa$$w0rd, C:\Windows\System32, Hide|UseErrorLevel
if (ErrorLevel) {
TrayTip, 啟動 VPN 連線, 連線至 VPN 發生錯誤 (%A_LastError%), 3, 3
} else {
TrayTip, 啟動 VPN 連線, 成功連線至 VPN (%A_LastError%), 3, 1
}
return
-
掛斷 VPN ( 快速鍵: Ctrl-Alt-Shift-D
)
^!+d::
RunWait, rasdial.exe VPNName /DISCONNECT, C:\Windows\System32, Hide|UseErrorLevel
if (ErrorLevel) {
TrayTip, 啟動 VPN 連線, 中斷 VPN 連線發生錯誤 (%A_LastError%), 3, 3
} else {
TrayTip, 啟動 VPN 連線, 已中斷 VPN 連線 (%A_LastError%), 3, 1
}
return
上述 AutoHotkey 腳本中,TrayTip 命令會讓你連線成功或失敗時顯示通知訊息。
如果你是 Windows 10 用戶,且使用 TrayTip 完全沒效果,請用以下 Chocolatey 命令重新安裝 AutoHotkey 才會正常運作:
choco install autohotkey.install --params="'/DefaultVer:U32'"
相關討論:https://www.autohotkey.com/boards/viewtopic.php?p=261485#p261485
相關連結