Last active
December 2, 2024 13:27
-
-
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 |
I have a similar problem to that of @orizonlabs. I am running GlobalProtect App Version 6.2.3.-270
Connect works great.
Disconnect fails on the line
click menu item "Disconnect" of menu "Global Protect Options Menu" of button "Global Protect Options Menu" of window 1
I shows the Syntax Error
dialog:
System Events got an error: Can’t get menu "Global Protect Options Menu" of button "Global Protect Options Menu" of window 1 of process "GlobalProtect".
@Mellbourn I do not use this script but I experienced the same error and noticed in my environment the Disconnect and Refresh Connection buttons lay within menu 1 of the "Global Protect Options Menu". So try changing that line to:
click menu item "Disconnect" of menu 1 of button "Global Protect Options Menu" of window 1
@mmacvicar unfortunately, that also fails. Syntax error:
System Events got an error: Can’t get menu item "Disconnect" of menu 1 of button "Global Protect Options Menu" of window 1 of process "GlobalProtect".
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I modified slightly to work it. One thing I am strugguling is
Sometimes the GP gets stuck at this. Unless I click Refresh Connection from menu bar, it won't show username/password option. Any suggestion for this to automate?