ある会社(Mac 約50台)では、新しい Mac を管理の仕組みに登録すると、仕事で使うアプリが裏で1本ずつ入っていく。何がいつ入り終わったのか、途中で失敗したものがないのかは、Mac の画面からは分からない。管理画面を見に行って、初めて分かる。
そこで、初期設定の途中に「必要なアプリを順に入れて、進み具合を見せる画面」を出すことにした。新しい Mac で2回試し、2回目で画面は動いた。ただ、Slack が入らなかった(セキュリティソフトも入らなかったが、こちらは別の原因で、調べている)。
Slack を追うと、原因は新しい画面ではなかった。社内の Mac には、もともと Slack を入れる仕組みが2つあった。その2つがぶつかって、13台に起動できない Slack のコピーが残っていた。そこへ自分たちが3つ目の入れ方を足したら、初期設定では、先に入った App Store 版にその3つ目が弾かれた。画面を作るより先に直すべきだったのは、アプリごとの入れ方だった。
先に断っておく。これは検証の途中の記録で、本番への切り替えも、直した設定での3回目の検証もまだだ。事実は2026年11月11日の午後の時点のもの。設定の名前や手順は、後半の「担当者向け」にまとめた。
この記事でわかること
- ▶ 新しい Mac の初期設定を自動にしたとき、最初に引っかかったこと
- ▶ 同じアプリを2つの経路で配ると、社員の Mac で何が起きるか(Slack の例)
- ▶ アプリの入れ方を1つに決めるときの考え方
- ▶ 新しい仕組みを足すとき、古い配り方から外しておくもの
▼やろうとしたこと:新しい Mac を開いたら、アプリが入り終わっている状態にする
やりたかったのは、新しい Mac を渡す前に、必要なアプリが全部入ったかをその場で言えるようにすることだ。
この会社は、Mac を Jamf(会社の Mac をまとめて管理する製品)で管理している。新しい Mac は、最初に起動したときに自動で Jamf に登録される。今までは、登録が終わったのを合図に、アプリを入れる処理が裏で順に走るだけだった。何がいつ終わるかは見えない。失敗しても誰にも知らされず、管理画面を見に行かないと分からない。
使ったのは Setup Manager という画面だ。Jamf が公開している初期設定用の仕組みで、アカウントを作る前の段階で出てくる。決めた順にアプリを入れ、1本ずつ進み具合を見せ、終わったらアカウント作成に進む。Jamf の製品(Jamf Pro と Jamf School)でしか動かない(Setup Manager の公式ページ)。
次の新しい Mac が届く予定があったので、それまでに検証用の Mac で一度通しておくことにした。最初に入れようとしたアプリは7本だ。セキュリティソフト、Rosetta 2(古い Intel 向けのアプリを、今の Mac で動かすための Apple の部品)、Google ドライブ、Slack、Zoom、Office、Acrobat Reader。最後に、PC 名(資産番号のラベルと同じ番号)を入れる欄を置いた。
▼2回試した:1回目は画面が出ず、2回目は約15分で動いたが7本中2本が入らなかった
管理画面で「付けた」設定が、Mac に届いているとは限らない。本物の新しい Mac を1台、最初から通して初めて分かる。通してみれば、どこで失敗したかがその場で見える。
1回目は、画面が出なかった。いつもどおりアカウント作成の画面まで進んでしまった。調べると、管理画面では付けたつもりの設定が2つ、Mac に届いていなかった。1つは、画面の設定を配る相手が空のままで、Mac に入った約1分後に Jamf 自身が消していた。もう1つは、画面の本体をどこから送るかが「なし」のままで、1回も送られていなかった。細かい設定は後半に書いた。
2回目は、2つを直してから、同じ Mac を消去してやり直した。今度は画面が出た。登録から約15分で、画面で入れた PC 名が Jamf に届いた。7本の結果はこうだった。
| アプリ | 結果 | メモ |
|---|---|---|
| セキュリティソフト | 失敗 | この Mac(新しい macOS)では入らなかった。原因は調べている途中 |
| Rosetta 2 | 成功 | |
| Google ドライブ | 成功 | 古い版が入った |
| Slack | 失敗 | App Store 版の Slack が先に入っていて、弾かれた |
| Zoom | 成功 | 古い版が入った |
| Office | 成功 | 新しい版のまま残った(古い版の配布から外しておいたため。後で書く) |
| Acrobat Reader | 成功 | 2021年の版が入った |
古い版が入った3本は、Jamf に置いていたインストーラーそのものが古かった。これは後の「判断の分かれ目」で触れる。
前の形との違いは、失敗がその場で見えることだ。前の形では、失敗しても誰にも知らされず、見に行かないと分からなかった。今回は、2本の失敗が画面にそのまま出た。
Slack は、登録の直後に App Store 版の Slack が先に入っていて、画面から入れようとした Slack が弾かれていた。なぜ App Store 版が先に入ったのかを追うと、この Mac 1台の話ではなかった。
▼Slack を追ったら:もともと2通りの入れ方がぶつかり、13台に壊れたコピーが残っていた
Mac の「アプリケーション」に Slack が2つ並んでいたり、起動しない Slack が残っていたりしても、使う人のせいではなかった。前からあった2つの入れ方が、同じ Mac の上でぶつかっていた。そこへ自分たちが3つ目を足し、初期設定では、先に入った App Store 版にその3つ目が弾かれた。
この会社の Mac には、Slack を入れる仕組みが3通りあった。
- ▶ 1. App Store 版を全社に配る設定(前から):会社で買った App Store のアプリを、Jamf から各 Mac に入れる
- ▶ 2. 前からあった自作の仕組み(前から):Mac が Jamf に定期的に連絡するたびに、Slack が古ければ消して入れ直す
- ▶ 3. 今回、初期設定の画面に足した入れ方:メーカーのサイトから最新版を取ってきて入れる
2の仕組みは、Slack の最新版の番号を「4.9.0」と読み違えていた(本当は 4.53 台)。入っている Slack と番号が合わないので、どの Mac の Slack も「古い」と判断され、Jamf に連絡するたびに消して入れ直されていた。Slack を使っている最中でも止まらない作りだった。
そこへ1の App Store 版も入ってくる。2つがぶつかった結果、「Slack 2」のような名前のコピーができ、中身が欠けて起動できないコピーが残った、と見ている。Jamf で Slack の状態が取れた46台を、1台ずつの状態で数えるとこうなる。
| 状態 | 台数 | 中身 |
|---|---|---|
| 起動できない Slack のコピーがある | 13台 | 壊れたコピーだけ:6台(うち1台は、動く Slack が1つもない) 壊れたコピーと、App Store 版の「Slack 2」があり、App Store 版で使っている:4台 App Store 版と、壊れたコピー:3台 |
| Slack が入っていない | 7台 | |
| 残り | 26台 | 壊れたコピーは見つからなかった。ただし、Slack が1つだけかどうかは1台ずつ確かめていない |
| 合計 | 46台 |
そして3。今回足した入れ方には、Installomator(メーカーのサイトから最新版を取ってきて入れる、オープンソースのスクリプト)を使った。Installomator は、App Store から入ったアプリには手を出さないのが既定の動きだ(Installomator 本体の説明書き)。2回目の検証では、1の App Store 版が先に入っていたので、3はそれを見て止まった。Installomator が悪いのではない。次の「一番の注意」で書く「足したら、古い配り方から外す」を、自分たちもやらずに踏んだ。
その日のうちにやったことは3つだ。
- ▶ 2の自作の仕組みを止めて、削除した
- ▶ 1の App Store 版を配る設定もやめた(App Store 版を使っている7台は、これで App Store からの更新が止まる見込み。片付けで置き換える)
- ▶ 片付けの準備をした:起動できないコピーだけを消す仕組みと、今ある Mac 向けの新しい Slack の配り方を作った。どちらもまだ動かしていない。まず1台で試してからにする
動いている Slack は、App Store 版でも消さない。App Store 版を別の入れ方に置き換えると、Slack にサインインし直すことになる(Installomator の説明書きにも、App Store 版の Slack を置き換えると設定が消える、と注意がある)。置き換えは使っている本人と日を決めてからにする。
▼判断の分かれ目:どの入れ方が正しいかより先に、1つのアプリを1つの入れ方にする
アプリの入れ方に、どこでも正しい1つがあるわけではない。先に決めるのは「1つのアプリには、入れ方を1本だけにする」ことだ。どの1本にするかは、その次でいい。
Mac の Slack でも、1本に決めるまでに迷った。2回目の失敗のあと、まず Slack を初期設定から外した。次に、App Store 版が入るのを画面で待つ形にした。Setup Manager の説明書には、App Store などから入るアプリを「入ったかどうか見張って待つ」やり方が載っている。ただし同じ説明書に、登録の最中のこうした入り方は当てにしにくい、とも書いてある(Setup Manager の設定の説明)。最終的には、メーカーのサイトから最新版を取る入れ方(Installomator)1本にし、App Store 版を配る設定は消した。
ほかのアプリも、初期設定で入れるものと入れ方を見直した。今の形はこうだ。
| アプリ | 前の入れ方 | 今の入れ方(どれも1本) |
|---|---|---|
| Slack | 3通り(App Store 版・自作の仕組み・今回足したもの) | メーカーのサイトから最新版 |
| Acrobat Reader | Jamf に置いた2021年の版のインストーラー | メーカーのサイトから最新版 |
| Chrome・Claude | 初期設定では入れていなかった | 足した。メーカーのサイトから最新版 |
| セキュリティソフト・Google ドライブ・Rosetta 2 | 前からある Jamf の配布 | そのまま(入れ方はもともと1本なので、今回は動かしていない。Google ドライブの古い版のインストーラーは、別に入れ替える) |
| Office | 2回目の検証では初期設定で入れた | 初期設定から外した |
| Zoom | 2回目の検証では初期設定で入れた | 初期設定から外し、あとからも入れない |
入れ替えで、初期設定でダウンロードする量の見込みは約4GBから約1.5GBに減った(大半は Office だった)。その分、初期設定の時間も縮む見込みだ。実際に何分になるかは3回目の検証で測る。
社内に置いたインストーラーは、置いた日の版で止まる。2回目の検証では、そうして止まっていた古い版が3本、新しい Mac にそのまま入った。メーカーのサイトから取る形なら、入れたその日の最新版が入る。
▼一番の注意:新しい入れ方を足したら、古い配り方からその Mac を外す
新しい仕組みを足すだけだと、古い配り方も同じ Mac に届く。古い版で上書きしたり、二重に入れたりする。Slack はまさにそれで、自分たちも検証で踏んだ。
そこで「この初期設定で登録した Mac」というまとまりを作り、古い配り方の対象から外した。今ある Mac への配り方は変えていない。外したのは次の4つだ。
- ▶ 古い Office(2021年の版)を全台に1回入れる配布
- ▶ 古い Acrobat Reader の配布
- ▶ 自作の Slack の仕組み(その後、仕組みごと削除した)
- ▶ Zoom の配布(新しい Mac には Zoom を入れないことにしたため)
気をつけたいのは Office だ。Office は初期設定から外したが、2021年の版を全台に1回入れる配布は、まだ残っている。新しい Mac をそこから外しておかないと、あとから古い Office が入り、新しい版を上書きするおそれがある。準備の段階で外しておいたので、2回目の検証でも Office は新しい版のまま残っていた。
もう1つ、元からあった「登録が終わったら裏で入れる」きっかけも外した。Setup Manager の説明書に、このきっかけで動く配布は、Setup Manager を遅らせたり邪魔したりすることがある、とあるからだ(Setup Manager の公式ページ)。今ある Mac 向けの、定期的に入れる配布はそのまま残した。
▼まだやっていないこと:3回目の検証、Slack の片付け、本番への切り替え、セキュリティソフト
- ▶ 直した設定での3回目の検証:新しく届いた MacBook Air 3台も、この初期設定で準備する
- ▶ Slack の片付け:起動できないコピーを消す仕組みを、まず1台で試してから13台に広げる。App Store 版を使っている人は、本人と日を決めて置き換える(それまでは App Store からの更新が止まる見込み)。今ある Mac 向けの新しい Slack の配り方も、まだ動かしていない
- ▶ 本番への切り替え:Setup Manager を出すには、Apple の初期設定の画面を自動で飛ばす設定を止める必要がある。止めると、ソフトウェア・アップデートなどの画面も出るので、どれを出すかを決める。新しい Mac に Office をどう入れるかも、ここで決める
- ▶ セキュリティソフトが検証の Mac で入らなかった原因
▼まとめ:自分の会社で確かめること
情シスの担当者がいない会社でも、次の5つは担当者や管理を頼んでいる先に聞ける。
- ▶ 新しい Mac に最初に入るアプリと、それぞれの入れ方の一覧はあるか:1つのアプリに2つ以上の入れ方がないか。App Store の配布と、別の配布の両方に同じアプリがないか
- ▶ 社員の Mac の「アプリケーション」に、「Slack 2」のような重複がないか
- ▶ 配っているインストーラーは、いつの版か:何年も前のものが残っていないか
- ▶ 古い版を「全台に1回」入れる配布が残っていないか:新しい仕組みを足すなら、そこから新しい Mac を外したか
- ▶ 新しい初期設定は、本物の新しい Mac 1台で最初から通したか:管理画面で「付けた」で済ませていないか
▼担当者向け:設定と手順の詳細
ここからは Jamf Pro を触る担当者向け。値はこの環境(Jamf Cloud、Setup Manager 1.4.7、Installomator 10.9、2026年11月)で確かめたもの。
前半の言い方と、実際の名前
| 前半の言い方 | 実際の名前 |
|---|---|
| 初期設定の画面 | Setup Manager(Jamf の GitHub で公開。Jamf Pro / Jamf School 専用、macOS 13.5 以上) |
| 最初に起動したときの自動登録・登録の設定 | Automated Device Enrollment(ADE)・Computer PreStage Enrollment |
| 画面の設定 | 構成プロファイル(Application & Custom Settings、ドメイン com.jamf.setupmanager) |
| 画面の本体をどこから送るか | PreStage の Enrollment Packages の配布ポイント(Distribution Point) |
| 登録が終わったら裏で入れるきっかけ | ポリシーの Enrollment Complete トリガー |
| Mac が Jamf に定期的に連絡する | チェックイン(Recurring Check-in) |
| App Store 版を全社に配る設定 | Mac App(Apple Business Manager で購入した App Store アプリの配布。VPP) |
| 前からあった自作の仕組み | スクリプトを実行するポリシー(Ongoing・全 Mac・チェックイン) |
| メーカーのサイトから最新版を取って入れる | Installomator(Setup Manager の installomator アクション) |
| この初期設定で登録した Mac のまとまり | スマートグループ(条件:Enrollment Method: PreStage enrollment is <検証用の PreStage 名>) |
1回目に画面が出なかった原因2つ
- ▶ 構成プロファイルの Scope が空だった:PreStage に付けたプロファイルは登録時に入る。ところが Scope が空だと、その約1分後に Jamf が Remove Configuration Profile を送って消していた(1回目の検証では2度登録し、2度とも同じだった)。Quick Start にも「Setup Manager を動かす Mac にプロファイルを Scope する」とある(Jamf Pro Quick Start)。Scope に、上のスマートグループと検証用の Mac を足して直した
- ▶ PreStage の配布ポイントが「None」だった:pkg は付いているのに、InstallEnterpriseApplication のコマンドが1件も送られていなかった。画面で Cloud Distribution Point に変えて直した。PreStage で配る pkg は、クラウドの HTTPS の配布ポイントに置くのが Jamf の要件だ(Jamf のドキュメント(Jamf Connect を PreStage で配る手順の要件))。なお、画面での1回目の保存は反映されず、2回目の保存で反映された
- ▶ API で PreStage を作るとき:
customPackageDistributionPointIdは、この環境では-1が None、-2が Cloud Distribution Point だった。既存の PreStage を写して作ると None のまま写るので、-2を入れる
どちらも、端末の管理履歴(Management History)の Commands で、InstallEnterpriseApplication と Install / Remove Configuration Profile がどの順に送られたかを見れば分かる。API なら computerhistory で取れる。
ほかに、Setup Manager は Setup Assistant の自動送り(Automatically advance through Setup Assistant)を無効にし、ユーザー作成の前に画面を最低1つ出しておく必要がある(Jamf Pro Quick Start)。この環境では、今の PreStage が全部自動送り有効だったので、検証用の PreStage で無効にした。
2回目の失敗を端末のログで見る
Setup Manager のログは /Library/Logs/Setup Manager.log。Slack とセキュリティソフトの失敗は、それぞれ次の行で分かった。
Installomator の IGNORE_APP_STORE_APPS は既定が no で、App Store から入ったアプリは版に関係なく触らない。yes にすると置き換える。ただし本体の説明書きに、Slack はその場合に設定が消える、という注意がある(Installomator.sh)。ログに出る mul-xpc や naturallanguaged のエラーは、入力欄の日本語入力まわりのもので、動作には関係なかった。
Slack の入れ方を1本にするまでの設定
- ▶ 一度試した
watchPath:/Applications/Slack.appができるまで待ってから表示する形。タイムアウトは既定の600秒。説明書では、Mac App Store や Jamf App Installers で入るアプリ向けのやり方で、登録中は当てにしにくいので、リストの最後に置くよう勧めている(ConfigurationProfile.md) - ▶ 今の形:
installomatorアクションでラベルslack、引数にNOTIFY=silentとIGNORE_APP_STORE_APPS=yes。初期設定の段階ではまだ誰もサインインしていないので、設定が消える注意は当てはまらない - ▶ Mac App の Slack:配布自体を削除した。すでに App Store 版が入っている Mac は、片付けの対象に入れた
- ▶ 今ある Mac 向け:Installomator を Jamf のスクリプトに登録し、Slack 用のポリシー(チェックイン・1日1回、引数
slack・NOTIFY=silent・BLOCKING_PROCESS_ACTION=silent_fail)を作った。silent_failは Slack が起動中なら触らず次回に回す設定。無効・Scope 空のまま
自作スクリプトの読み違え
前からあったスクリプトは、Slack の RSS から最新版の番号を Slack-[0-9]\.[0-9]\.[0-9] の形で取っていた。各桁が1文字の番号にしか合わないので、4.53.287 には合わず、結果として「4.9.0」を最新と読んでいた。入っている Slack と番号が違うので毎回「古い」と判断し、/Applications/Slack.app を消して入れ直していた。ポリシーは Ongoing・全 Mac・チェックインで、Slack の起動中かどうかも見ていなかった。
壊れたコピーの見分け方と、消すスクリプト
- ▶ 壊れたコピー:
/ApplicationsのSlack.appかSlack <数字>.appで、Contents/Info.plistからCFBundleIdentifierが読めないもの。Jamf のインベントリでは版が n/a になる - ▶ App Store 版の見分け方:
Contents/_MASReceiptがあるかどうか - ▶ 消すスクリプト:読めるもの(動く Slack)は App Store 版も含めて全部残し、名前も変えない。引数が
runのときだけ消し、空なら「何を消す予定か」を出すだけにした。まず1台で一覧だけ出してから、消す
既存のポリシーの扱いと、古い配り方からの外し方
- ▶ Enrollment Complete を外す:Setup Manager の説明書に、Enrollment Complete で動くポリシーは Setup Manager を遅らせたり邪魔したりすることがあるので、無効にするか Scope から外す、とある(README)。この環境では、キッティング用のポリシー10本から Enrollment Complete だけを外し、チェックインは残した。Setup Manager を使わない今の PreStage で登録した Mac は、最初のチェックインでアプリが入る
- ▶ カスタムトリガーで呼ぶ:既存のポリシーに
sm_*のカスタムトリガーを足し、Setup Manager のpolicyアクションから呼ぶ(中身はjamf policy -eventと同じ)。1回のポリシーはここで実行済みになるので、あとのチェックインで二重には入らない見込み(未検証) - ▶ 古い配り方から外す:上のスマートグループを、古い Office(全台・1回)・古い Acrobat Reader・自作の Slack・Zoom のポリシーの Exclusions に入れた。対象(Targets)は触っていないので、既存の Mac には影響しない
- ▶ Classic API でポリシーの Scope を変えるとき:Scope の一部だけを送ったら、元の対象が消えた(すぐ戻した)。Scope は全体を送り直す
構成プロファイルの要点
- ▶ 順番:セキュリティソフト → Rosetta 2 → Google ドライブ → Claude → Chrome → Acrobat Reader → Slack → PC 名の入力。Claude は Installomator の
claudedesktop、Chrome はgooglechromepkg、Acrobat Reader はadobereaderdc-install - ▶
networkQualityCheck:有効のまま(社内の Wi-Fi が遅いことがあるため)。totalDownloadBytesは 1.5GB にした。この値はダウンロード時間の目安の表示に使われる - ▶ PC 名:
userEntryのcomputerNameに、validation(正規表現)で「PC+数字4桁」を入れた。最後のwaitForUserEntryで入力を待つ - ▶
finalAction:continue(既定。Setup Manager を閉じて、アカウント作成に進む) - ▶ 表示の言語:日本語(
ja)に対応している
キーの意味は ConfigurationProfile.md にまとまっている。
入れる前に確かめたことと、API での注意
- ▶ pkg の確かめ方:Setup Manager も Installomator も GitHub の公式リリースの pkg を使い、Developer ID Installer の署名と公証(notarization)を確かめてから Jamf に上げた。Setup Manager は、公開されている SHA-256 とも照らした
- ▶ Installomator の確かめ:ダウンロードしたアプリの Apple の Developer Team ID を、ラベルに書かれた値と照らし、合わなければ止まる。入っている版がメーカーの最新と同じなら入れ直さない(Installomator の Wiki)
- ▶ PreStage を API で写すとき:管理者アカウントのパスワードは API で取れないので、写した PreStage では空になる。画面で入れ直す
残りの確認
- ▶ Intel の Mac での動き(Rosetta 2 の手順が要らない Mac。今回の検証から外した)
- ▶ アカウント作成のあとに入れるもの(ディスクの暗号化、勤怠のログを取るソフト)が、今までどおり入るか
- ▶ Google ドライブの古い版のインストーラーの入れ替え
📅 30分無料相談、受け付けています
「新しい Mac を渡すとき、アプリが全部入ったか分からない」「どのアプリがどこから入っているのか、もう誰も分からない」——そういった段階からお気軽にどうぞ。今の配り方の棚卸しから、初期設定の自動化まで、直近の実例をもとにお手伝いします。
📅 30分無料相談を予約する →