Created
October 11, 2012 18:16
-
-
Save adgedenkers/3874427 to your computer and use it in GitHub Desktop.
Toggle Connection to VPN on a Mac via AppleScript
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
tell application "System Events" | |
-- get current clipboard contents as a string | |
set CurrentClipboard to the clipboard as string | |
-- set the clipboad to your password | |
set the clipboard to "Y0urVPNPa$$w0rd" | |
-- start playing with the VPN | |
tell current location of network preferences | |
-- set the name of the VPN service from your Network Settings | |
set VPNService to service "VPN Connection 01" | |
-- determine current VPN connection status | |
set isConnected to connected of current configuration of VPNService | |
-- if connected, then disconnect | |
if isConnected then | |
disconnect VPNService | |
else -- otherwise, connect to the VPN | |
connect VPNService | |
-- wait 10 seconds before pasting in the password | |
delay 10 | |
tell application id "com.apple.systemevents" | |
-- paste clipboard contents into password box | |
keystroke "v" using {command down} | |
-- press "Enter" | |
keystroke (key code 36) | |
-- wait 10 seconds to connect | |
delay 10 | |
-- determine current VPN connection status (after providing password) | |
set nowConnected to connected of current configuration of VPNService | |
-- if we're now connected ... | |
if nowConnected then | |
-- press "Enter" again to get rid of a dialog confirmation prompt, if one exists | |
keystroke (key code 36) | |
-- now, execute any other commands you want (ping a server to check its status, open mail, etc.) | |
end if | |
end tell | |
end if | |
end tell | |
-- now reset the clipboard to what it was before we started | |
set the clipboard to CurrentClipboard | |
end tell |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@LwsBtlr , this is likely because you are using IKEv2 services. I had a similar issue trying to fix my VPN to auto reconnect. Below is the solution I eventually used. This may point you in the direction to solve your issue:
===
I simply downloaded the precompiled app here.
https://blog.timac.org/2018/0719-vpnstatus/
If you are interested in the source code that makes it work, you can find it on GitHub here: https://github.com/Timac/VPNStatus