Skip to content

Instantly share code, notes, and snippets.

@synox
Forked from adgedenkers/vpn_connection.scpt
Created September 12, 2014 19:15
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save synox/c597321d6d007f812f45 to your computer and use it in GitHub Desktop.
Save synox/c597321d6d007f812f45 to your computer and use it in GitHub Desktop.
tell application "System Events"
-- 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 myHome"
-- determine current VPN connection status
set isConnected to connected of current configuration of VPNService
if isConnected then
-- disconnect VPNService
else -- otherwise, connect to the VPN
connect VPNService
repeat until (window 1 of process "Cisco AnyConnect Secure Mobility Client" exists)
delay 1
end repeat
-- wait 10 seconds before pasting in the password
-- get current clipboard contents as a string
set CurrentClipboard to the clipboard as string
set the clipboard to "my$Passw0rp"
delay 8
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 20
-- keep password in clipboard for 20 seconds
-- 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
-- now reset the clipboard to what it was before we started
set the clipboard to CurrentClipboard
end if
end tell
end tell
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment