Skip to content

Instantly share code, notes, and snippets.

@fergie
Forked from andrewh/anyconnect.scpt
Last active November 6, 2015 12:27
Show Gist options
  • Select an option

  • Save fergie/bb690cafc0c06415b659 to your computer and use it in GitHub Desktop.

Select an option

Save fergie/bb690cafc0c06415b659 to your computer and use it in GitHub Desktop.
Applescript to automate the Cisco AnyConnect SSL VPN client on OS X Mavericks
-- 1. Place in ~/Library/Scripts and enable the Applescript menu via the Apple Script Editor
-- (Or export to .app to run from spotlight.)
-- 2. Substitute "vpn.example.com" and "REDACTED" for your VPN server and password
-- 3. Open Security & Privacy System Preferences, go to Privacy, Accessibility
-- 4. Enable Script Editor (or this .app if so exported)
-- 5. Trigger script from the menu (or run from spotlight)
-- 6. Enjoy being connected
-- 7. Run script again to close connection
-- AnyConnect now refered to as targetApp
set targetApp to "Cisco AnyConnect Secure Mobility Client"
-- Determine if AnyConnect is currently running
tell application "System Events"
set processExists to exists process targetApp
end tell
-- Close connection if running; else start connection and fill in server and password
if processExists is true then
tell application targetApp
quit
end tell
else
tell application targetApp
activate
end tell
tell application "System Events"
-- Wait for first window to open. Enter VPN server and press return.
repeat until (window 1 of process targetApp exists)
delay 1
end repeat
tell process targetApp
keystroke ("vpn.example.com" as string)
keystroke return
end tell
-- Wait for second window to open. Enter password and press return.
repeat until (window 2 of process targetApp exists)
delay 2
end repeat
tell process targetApp
keystroke ("REDACTED" as string)
keystroke return
end tell
end tell
end if
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment