Jamf Connect のアンインストール
デバイスの初期化を行わずに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 0Step 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スクリプトScriptsStep1 のスクリプトを設定メンテナンスインベントリをアップデートチェックを入れるScope[Jamf Connect] Installed を指定Self Service有効にするStep 2セクション属性値表示名任意 (例: "Delete JamfConnect_2_of_2")トリガーなし実行頻度Once per computerスクリプトScriptsStep2 のスクリプトを設定メンテナンスインベントリをアップデートチェックを入れるScope[Jamf Connect] Installed を指定Self Service有効にするユーザーへの周知Self ServiceにてStep1、Step2を実行してもらうよう依頼して下さい。Step2のアイコンが反映されない場合にSelfserviceの最新化や再起動を依頼するようユーザーには補足して下さい。作業完了後以下問題なければ対応完了です。ログイン時にJamf Conncet(SSO)の画面が表示されないメニューバーにJamf Conncetのアイコンが表示されない参考文献【番外編】MacのOSバージョン管理をどう考える?Jamf Connectの再有効化について。 (too.com)Jamf Connect をアンインストールする (learn.jamf.com)