エージェントクライアントコレクターJamf を使用したmacOSへの一括展開
Jamf を使用して複数の macOS デバイスに エージェントクライアントコレクター (ACC) を一度にインストールし、組織全体で一貫した展開を促進します。
始める前に
- 手順で使用するエージェント登録キーを作成し、その値を取得します。詳細については、「ACC 登録キーの作成」を参照してください。
- ローカルマシンに ACC をインストールします。詳細については、「に DEX 用の ACC をインストールする macOS」を参照してください。
必要なロール:agent_client_collector_admin
このタスクについて
次の手順では、 Jamf を使用して ACC を一括展開する方法について説明します。組織によっては、ACC を展開する別の方法がある場合があります。
手順
-
インストールパッケージをダウンロードします。
- 移動先 すべて > エージェントクライアントコレクター > 展開 > エージェントのダウンロード.
- チップタイプに基づいて、[ macOS ダウンロード] セクションから適切なパッケージをダウンロードします。
-
インストールパッケージを Jamf Pro にアップロードします。
- Jamf Pro インスタンスで、 設定 > パッケージ.
- [New (新規)] ボタンをクリックします。
- パッケージの表示名を指定します。
- [ファイル名] で [ファイルを参照] を選択し、パッケージを選択します。
- [Save (保存)] を選択します。
-
acc.ymlファイルを更新します。
- ローカルインストール中に生成された acc.yml ファイルをデスクトップの場所にコピーします。
-
connect-without-midが
trueに設定されていることを確認します。 - インスタンス URL が正確であることを確認し、登録キーを挿入します。
-
verify-plugin-signatureが
falseに設定されていることを確認します。 - acc.ymlを保存
-
ターミナルコマンドラインを使用して、 acc.yml ファイルを展開パッケージに変換します。
- デスクトップに yml_package_builder.sh という名前のファイルを作成します。
-
次のスクリプトを yml_package_builder.sh ファイルにコピーして保存します。
#!/bin/bash # === CONFIGURATION === PKG_NAME="acc-yml.pkg" INSTALL_PATH="/Library/Application Support/servicenow/agent-clientcollector" YML_SOURCE_PATH="$HOME/Desktop/acc.yml" # Assuming you have your yml file on the Desktop folder, change it if needed # === CREATE BUILD STRUCTURE === BUILD_DIR="$HOME/pkgbuild-yml" PAYLOAD_DIR="$BUILD_DIR/payload$INSTALL_PATH" # Clean previous build rm -rf "$BUILD_DIR" mkdir -p "$PAYLOAD_DIR" # Copy YAML file into package payload cp "$YML_SOURCE_PATH" "$PAYLOAD_DIR/" # === BUILD THE PACKAGE === pkgbuild \ --identifier "com.servicenow.acc.yml" \ --install-location "$INSTALL_PATH" \ --root "$BUILD_DIR/payload" \ "$HOME/Desktop/$PKG_NAME" echo "✅ .pkg created at: $HOME/Desktop/$PKG_NAME" -
ターミナルから sh yml_package_builder.sh コマンドを実行します。
注:変更した acc.yml ファイルと yml_package_builder.sh ファイルは、同じ場所 (デスクトップなど) に保存する必要があります。
ファイル acc-yml.pkg がデスクトップに表示されます。 - インストールパッケージをアップロードしたときと同じ方法で、yml パッケージを Jamf Pro にアップロードします。
-
Jamf Pro インスタンスで、インストール後スクリプトを作成します。
- 移動先 設定 > スクリプト.
- [New (新規)] ボタンをクリックします。
- 必要に応じて、表示名を入力し、フォームに入力します。
-
[ スクリプト] タブで、次のスクリプトを貼り付けます。
# === 1. Create sudoers file === SUDOERS_FILE="/private/etc/sudoers.d/_servicenow" cat <<EOF > "$SUDOERS_FILE" # ServiceNow Agent Collector - Sudoers Configuration for macOS # Command alias for ServiceNow allowed commands # These commands can be executed by the _servicenow user with sudo privileges Cmnd_Alias SN_ALLOWED = /usr/bin/powermetrics, \ /usr/bin/mdls, \ /usr/bin/log, \ /usr/bin/log show *, \ /bin/kill, \ /usr/bin/defaults, \ /usr/local/bin/jamf, \ /bin/rm, \ /bin/ls, \ /usr/bin/pgrep, \ /usr/bin/find, \ /usr/bin/pmset, \ /usr/bin/open, \ /Library/Application\ Support/servicenow/agent-client-collector/cache/acc-dex-modules/bin/scripts/sudo/app_freeze.sh, \ /Library/Application\ Support/servicenow/agent-client-collector/cache/acc-dex-modules/bin/scripts/sudo/zscaler_zpa_reconnect.sh, \ /Library/Application\ Support/servicenow/agent-client-collector/cache/acc-dex-modules/bin/scripts/sudo/clear_google_chrome_browsing_data.sh, \ /Library/Application\ Support/servicenow/agent-client-collector/cache/acc-dex-modules/bin/scripts/sudo/services.sh, \ /Library/Application\ Support/servicenow/agent-client-collector/cache/acc-dex-modules/bin/scripts/sudo/restart_service.sh *, \ /Applications/Zscaler/Zscaler.app/Contents/PlugIns/zscli, \ /Library/Application\ Support/servicenow/agent-client-collector/cache/acc-dex-modules/bin/scripts/sudo/elevate_temporary_admin.sh # ServiceNow user permissions # _servicenow user can run osqueryi and all SN_ALLOWED commands without password # SETENV allows environment variables to be preserved _servicenow ALL=NOPASSWD: SETENV: /Library/Application\ Support/servicenow/agent-client-collector/cache/osquery/bin/osqueryi *, SN_ALLOWED # Defaults for _servicenow user # !requiretty: Allow sudo without a TTY (required for automated scripts) Defaults:_servicenow !requiretty EOF chmod 440 "$SUDOERS_FILE" echo "[INFO] Sudoers file created at $SUDOERS_FILE" # === 2. Set permissions for the YAML file === YML_PATH="/Library/Application Support/servicenow/agent-clientcollector/ acc.yml" if [ -f "$YML_PATH" ]; then chmod 644 "$YML_PATH" echo "[INFO] Permissions set on acc.yml" else echo "[WARN] acc.yml not found at $YML_PATH" fi # === 3. Restart ACC service === PLIST="/Library/LaunchDaemons/com.sn.acc.plist" if [ -f "$PLIST" ]; then echo "[INFO] Stopping ACC service..." launchctl unload -w "$PLIST" 2>/dev/null sleep 2 echo "[INFO] Starting ACC service..." launchctl load -w "$PLIST" else echo "[ERROR] LaunchDaemon not found at $PLIST" fi - [Save (保存)] を選択します。
-
Jamfポリシーを作成し、作成したパッケージとスクリプトを追加します。
- Jamf Pro インスタンスで、 インベントリ > ポリシー.
- [New (新規)] ボタンをクリックします。
- 適切なポリシー名、トリガー、および頻度を入力します。
- [ スコープ] で、すべてのターゲットコンピューターを追加します。
-
移動先 パッケージ > 構成 をクリックし、インストールパッケージと ACC-YML パッケージをレコードに追加します。
注:[アクション] で [インストール] が選択されていることを確認します。
-
移動先 スクリプト > 構成 をクリックし、インストール後スクリプトをレコードに追加します。
注:[優先度] で [後] が選択されていることを確認します。
- [Save (保存)] を選択します。
- [スコープ] タブで、ターゲットコンピューターとターゲットユーザーを追加します。
- [Save (保存)] を選択します。
-
展開ステータスを監視するには、次のいずれかを実行します。
- Jamf Pro インスタンスダッシュボードで展開ステータスを確認します。
- 次に移動してエージェントのステータスを確認する すべて > エージェントクライアントコレクター > エージェント.
- エンドポイントデバイスのログファイル (/Library/Application Support/servicenow/agent-client-collector/log/acc.log) を確認します。