Last active
September 26, 2024 16:09
-
-
Save tmanternach/cbd4c213eab8569e38d6cd021b6255e5 to your computer and use it in GitHub Desktop.
This file contains 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
(* | |
Toggle GlobalProtect VPN with AppleScript | |
Tested using macOS Ventura 13.4.1 and GlobalProtect version 6.2.0-89 | |
Written by Trevor Manternach, August 2023. | |
*) | |
tell application "System Events" to tell process "GlobalProtect" | |
click menu bar item 1 of menu bar 2 | |
set statusText to name of static text 1 of window 1 | |
if statusText is "Not Connected" then | |
# GlobalProtect is disconnected, so let's connect | |
click button "Connect" of window 1 | |
set entireContents to entire contents of window 1 | |
else if statusText is "Connected" then | |
# GlobalProtect is connected, so let's disconnect | |
set windowText to entire contents of window 1 | |
repeat with theItem in windowText | |
if (class of theItem is button) then | |
if (value of attribute "AXTitle" of theItem is "Disconnect") then | |
# We found a Disconnect button on the main page, let's click it. | |
click theItem | |
exit repeat | |
else | |
# We did not find a Disconnect button on the main page, let's hope there is one in the Settings Menu. | |
click button "Global Protect Options Menu" of window 1 | |
click menu item "Disconnect" of menu "Global Protect Options Menu" of button "Global Protect Options Menu" of window 1 | |
exit repeat | |
end if | |
end if | |
end repeat | |
end if | |
click menu bar item 1 of menu bar 2 | |
end tell |
This file contains 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
(* | |
Toggle GlobalProtect VPN with AppleScript | |
Tested using macOS 10.14 and GlobalProtect version 5.2.3-22 | |
Tested using macOS Ventura 13.4.1 and GlobalProtect version 6.0.1-19 | |
Written by Trevor Manternach, July 2021. | |
*) | |
tell application "System Events" to tell process "GlobalProtect" | |
click menu bar item 1 of menu bar 2 -- Activates the GlobalProtect "window" in the menubar | |
click button 2 of window 1 -- Clicks either Connect or Disconnect | |
click menu bar item 1 of menu bar 2 -- This will close the GlobalProtect "window" after clicking Connect/Disconnect. This is optional. | |
end tell |
@tmanternach Can you actually help how to automate entering password. Typically the username is prefilled and Password is combination of static text and token (which I can get it from another automation)
Step 1: Click Connect (VPN portal is autofilled) Step 2: Ask for Username (autofilled) and Password (the cursor highlighted by default) Step 3: Click Connect
@nitin88 Have you played with this code from a previous comment?
tell application "System Events" to tell process "GlobalProtect"
click menu bar item 1 of menu bar 2
tell application "System Events"
keystroke tab
delay 0.2
keystroke "username"
delay 0.2
keystroke tab
delay 0.2
keystroke "password"
delay 0.2
end tell
click button 2 of window 1
end tell
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@tmanternach Can you actually help how to automate entering password. Typically the username is prefilled and Password is combination of static text and token (which I can get it from another automation)
Step 1: Click Connect (VPN portal is autofilled)
Step 2: Ask for Username (autofilled) and Password (the cursor highlighted by default)
Step 3: Click Connect