1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MacのショートカットでGlobalProtect VPNに自動接続するランチャーを作る

Last updated at Posted at 2025-08-11

はじめに

A君:「毎回GlobalProtect開いて、ユーザー名とパスワード入れて…めんどくさい!」
B先輩:「じゃあMacの“ショートカット”アプリで、自動入力して接続するボタンを作ろう」
A君:「そんなことできるの!?」
B先輩:「できるよ。ただしパスワードはスクリプトに平文で書くから、自分のMacだけで使うのが安全」

この記事では、Macのショートカットアプリを使って、GlobalProtect VPNに自動で接続できるランチャーを作ります。
ワンクリックでVPN接続が始まり、ユーザー名とパスワードも自動入力されます。

必要なもの

  • macOS(ショートカットアプリが入っている)
  • GlobalProtect がインストール済み
  • 自分のユーザー名とパスワード(今回は平文でスクリプト内に保存)

作り方

1. ショートカットを作成

A君:「まずはショートカットを作るんだね」
B先輩:「そう、Macに最初からある“ショートカット”アプリを開こう」

  1. ショートカットアプリを起動
  2. 右上の 「+」 で新規ショートカットを作成
  3. 名前は例として GlobalProtectに接続 にする

01.png

2. AppleScriptを追加

A君:「どうやって自動入力させるの?」
B先輩:「AppleScriptっていう、Mac用の自動化スクリプトを使うよ」

  1. 右の検索バーに 「AppleScript」 と入力
  2. 「AppleScriptを実行」 を右側のワークスペースに追加
  3. 下記コードを貼り付け(ユーザー名とパスワードは自分用に変更)

02.png

property userAccount : "あなたのユーザー名"
property userPassword : "あなたのパスワード"

on run {}
	try
		clickMenuBarItem()
		clickButton("接続", "Connect")
		waitForLoginWindow()
		enterCredentials(userAccount, userPassword)
		pressEnterKey()
	on error errMsg
		display alert "An error occurred: " & errMsg
	end try
end run

on clickMenuBarItem()
	tell application "System Events" to tell process "GlobalProtect"
		click menu bar item 1 of menu bar 2
	end tell
end clickMenuBarItem

on clickButton(japaneseLabel, englishLabel)
	tell application "System Events"
		if exists UI element japaneseLabel of window 1 of application process "GlobalProtect" then
			click UI element japaneseLabel of window 1 of application process "GlobalProtect"
		else if exists UI element englishLabel of window 1 of application process "GlobalProtect" then
			click UI element englishLabel of window 1 of application process "GlobalProtect"
		end if
	end tell
end clickButton

on waitForLoginWindow()
	tell application "System Events"
		repeat until (exists UI element "キャンセル" of window 1 of application process "GlobalProtect") or ¬
			(exists UI element "Cancel" of window 1 of application process "GlobalProtect") or ¬
			(exists UI element "接続" of window 1 of application process "GlobalProtect") or ¬
			(exists UI element "Connect" of window 1 of application process "GlobalProtect")
			delay 0.5
		end repeat
	end tell
end waitForLoginWindow

on enterCredentials(account, passwd)
	set the clipboard to {text:(account as string), Unicode text:account}
	tell application "System Events"
		keystroke "v" using {command down}
		delay 0.3
	end tell
	pressTabKey()
	typePassword(passwd)
end enterCredentials

on pressTabKey()
	tell application "System Events"
		keystroke (ASCII character 9)
	end tell
end pressTabKey

on typePassword(passwd)
	set the clipboard to {text:(passwd as string), Unicode text:passwd}
	tell application "System Events"
		keystroke "v" using {command down}
	end tell
end typePassword

on pressEnterKey()
	tell application "System Events"
		keystroke (ASCII character 13)
	end tell
end pressEnterKey

3. 権限を許可する

A君:「これ実行したらエラーが出た!」
B先輩:「Macに“このショートカットでアプリを操作していいよ”って許可をあげないと動かないんだ」

  • システム設定 → プライバシーとセキュリティ → アクセシビリティ
    • ショートカット を追加してON(このショートカット全体に権限を与える)
  • 初回実行時に表示される「ショートカットが System Events を操作しようとしています」「ショートカットが GlobalProtect を操作しようとしています」はすべて許可

4. Dock・メニューバーに追加(任意)

A君:「Dockから押せたらもっと楽だね」
B先輩:「メニューバーにも置けるとさらに便利だよ」

メニューバーに追加

  1. 該当ショートカットを開く
  2. 右上の 「ℹ️」(情報/詳細)アイコン をクリック
  3. 「メニューバーにピン留め」 をON
  4. Macのメニューバー右上にショートカットアイコンが表示され、1クリックで接続可能に
    03.png

Dockに追加

  • ショートカット一覧で右クリック → 「Dockに追加」
  • アイコンは「globe」(地球)にして、色を青や緑にするとVPN感アップ
    04.png

動作確認

  1. Dockまたはメニューバーのアイコンをクリック
  2. GlobalProtectが開き、自動でユーザー名・パスワードが入力され接続されれば成功

まとめ

A君:「これでVPN接続めっちゃ楽になった!」
B先輩:「そうだね。でも安全に使うならMacはロックしておこう」

  • MacのショートカットでAppleScriptを実行すれば、GUIアプリも自動操作できる
  • 必要なのは「ショートカット」へのアクセシビリティ許可と、初回の自動操作許可
  • Dockに置いてglobeアイコンにすれば、VPNランチャーとしてすぐ使える
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?