デバイスの初期化を行わずにJamf Connectをアンインストールする方法を以下に記載します。
別MDMの切替時や、Jamf Conncetを解約する場合に有効な方法になります。
手順
① 拡張属性を作成
Jamf Connectのログインウィンドウが無効化された端末を確認する拡張属性を作成します。
表示名 |
任意 (今回は JamfConnect_status で設定)
|
---|---|
データタイプ | String |
インベントリ表示 | 任意 |
入力タイプ | Script |
#!/bin/bash if [[ $( /usr/local/bin/authchanger -print | grep JamfConnectLogin ) ]]; then echo "<result>Enabled</result>" else echo "<result>Disabled</result>" fi
② スマートグループ作成
以下3つのスマートグループを作成して下さい。
- Jamf Connectアプリがインストール済のグループ
-
今回は
[Jamf Connect] Installed
で作成
-
- Jamf Connectアプリが未インストール(または削除済)のグループ
-
今回は
[Jamf Connect] NotInstalled
で作成
-
- Jamf Connectアプリがインストール済、かつログインウィンドウが無効化されたグループ
-
今回は
[Jamf Connect] Disable
で作成
-
③ 自動インストール停止
Jamf Connectをインストールしているポリシーがあれば停止して下さい。
[事前登録]にて初期セットアップ時にインストールしている場合はそちらも削除して下さい。
④ 構成プロファイル配布停止
構成プロファイル(com.jamf.connect)を配布している設定を開き、先ほど作成したJamf Connectがインストールされていないスマートグループを配布から除外(Exclusions)する設定に変更
⑤ スクリプト作成
以下2つ (Step 1, 2) のスクリプトを作成して下さい。
Step 1: 認証データベースをリセットして不要なファイルを削除するスクリプト
#!/bin/bash # Step 1: Reset the authentication mechanism if ! sudo /usr/local/bin/authchanger -reset; then echo "Failed to reset authentication mechanism. Exiting." exit 1 else echo "Authentication mechanism successfully reset." fi # Step 2: Remove files if they exist FILES=( "/usr/local/bin/authchanger" "/usr/local/lib/pam/pam_saml.so.2" "/Library/Security/SecurityAgentPlugins/JamfConnectLogin.bundle" ) for FILE in "${FILES[@]}"; do if [ -e "$FILE" ]; then echo "Removing $FILE..." if sudo rm -r "$FILE"; then echo "Successfully removed $FILE." else echo "Failed to remove $FILE. Exiting." exit 1 fi else echo "$FILE does not exist. Skipping." fi done echo "All steps completed successfully." exit 0
Step 2: Jamf Conncetをアンインストールして起動エージェントを削除するスクリプト
#!/bin/bash # Step 1: Completely remove Jamf Connect application jamf_connect_app="/Applications/Jamf Connect.app" if [ -d "$jamf_connect_app" ]; then echo "Removing Jamf Connect application..." sudo rm -rf "$jamf_connect_app" if [ $? -ne 0 ]; then echo "Error: Failed to remove Jamf Connect application." exit 1 fi else echo "Jamf Connect application not found. Skipping." fi # Step 2: Remove specific LaunchAgents launch_agents=( "/Library/LaunchAgents/com.jamf.connect.plist" "/Library/LaunchAgents/com.jamf.connect.unlock.login.plist" ) for agent in "${launch_agents[@]}"; do if [ -e "$agent" ]; then echo "Removing $agent..." sudo rm -f "$agent" if [ $? -ne 0 ]; then echo "Error: Failed to remove $agent." exit 1 fi else echo "$agent not found. Skipping." fi done echo "Jamf Connect application and related LaunchAgents have been removed successfully." exit 0
⑥ スクリプト作成
スクリプトを任意のタイミングで実行できるように Self Service に表示されるポリシーとして登録しましょう。またポリシーの実行に失敗した時に連続して実行されないよう「Once per computer」を設定しています。
Step 1
セクション | 属性 | 値 |
---|---|---|
表示名 | 任意 (例: "Delete JamfConnect_1_of_2") | |
トリガー | なし | |
実行頻度 | Once per computer | |
スクリプト | Scripts | Step1 のスクリプトを設定 |
メンテナンス | インベントリをアップデート | チェックを入れる |
Scope | [Jamf Connect] Installed を指定 | |
Self Service | 有効にする |
Step 2
セクション | 属性 | 値 |
---|---|---|
表示名 | 任意 (例: "Delete JamfConnect_2_of_2") | |
トリガー | なし | |
実行頻度 | Once per computer | |
スクリプト | Scripts | Step2 のスクリプトを設定 |
メンテナンス | インベントリをアップデート | チェックを入れる |
Scope | [Jamf Connect] Installed を指定 | |
Self Service | 有効にする |
ユーザーへの周知
Self ServiceにてStep1、Step2を実行してもらうよう依頼して下さい。
Step2のアイコンが反映されない場合にSelfserviceの最新化や再起動を依頼するようユーザーには補足して下さい。
作業完了後以下問題なければ対応完了です。
- ログイン時にJamf Conncet(SSO)の画面が表示されない
- メニューバーにJamf Conncetのアイコンが表示されない