Jamf ブログ
An 'easy' button shows how to reinstall a clean macOS with one button.
November 17, 2021 投稿者 Bill Smith

本当にできる、macOSをボタン一つで再インストールする方法

Sound too good to be true? Believe it!

macOS Montereyを再インストールするには、ボタンを一つ押すだけ

本ブログでは、これからmacOSを再インストールする方法をご紹介していきますが、まず初めにこれまでのmacOSの歴史を簡単におさらいしてみましょう。

  • Appleは過去10年間、MacのOSのメジャーアップグレードを1年のサイクルでリリースしてきました。2011年にMac OS X Lion(10.7)をリリースして以来毎年、Appleは新しいメジャーバージョンをリリースし続けています。
  • この10年間で、Mac OSのインストーラサイズも大幅に大きくなりました。OS X Lion 10.7のインストーラは約4.72GBでした。最新のmacOSであるMonterey 12.0.1のインストーラはその3倍近い約12GBあります。
  • 今日、macOSは増え続けるマルウェアや攻撃者からの脅威にさらされています。ウィルスやワームといった従来型のマルウェアは、もうほとんど存在しません。しかし、USA Todayのレポートによると、アプリやダウンロードファイルに仕込まれた営利目的のマルウェアによる脅威は、2019年には4倍に増えました。

ここまで、macOSの歴史を概観して来ましたが、一体どのようなことが読み取れるのでしょうか。

  • Appleは、MacのOSを積極的にアップデートしています。 これは新しいことでも、変わったことでもなく、10年前から継続して行われていることです。そのため、macOSのバージョンアップに毎年驚いたり、準備を怠ったりする管理者はいないはずです。
  • ただし、macOSのインストーラサイズが大きくなると、それを展開する際の複雑さも指数関数的に大きくなります。10年前と比較して、現在ではインストーラのダウンロードに3倍の時間と、Macのエンドポイントに保存するのに3倍の容量、さらに実行するために3倍の作業ディスクの空き容量が必要となります。また、インストールにかかる時間は通常20分から50分と比較的一定しているのですが、アップグレードのプロセスは依然長いままです。
  • Appleが毎年のアップデートに積極的な主な理由は、Appleが世界でのシェアを伸ばすにつれ、プライバシーとセキュリティの両方をより一層重視するようになったためです。Macは、10年前に比べてシェアが2倍になり、今日、スパイウェアやランサムウェアの大きな標的となっています。

macOSのメジャーアップグレードが重要なのは、新しいアップグレードのたびに新機能が搭載されるだけでなく、セキュリティやエンドユーザのプライバシーも改善されるからです。とはいえ、組織全体に展開する前に、慎重な計画と検証が必要です。

それらをサポートするため、数年前から私たちは、バージョンアップのたびにこのブログ記事を更新してきました。続きまして、Appleの最新アップグレードMontereyについて、ご紹介します。

初期状態に戻す

異動や退職に伴うユーザの移行や用途の変更のためにOSを消去してクリーンなmacOSを再インストールすることは、Macを再配布したり、シンプルに初期状態へと戻したりするための一般的なワークフローとなっています。Appleは、macOS High Sierra 10.13.4のインストーラでこれらのツールの導入を開始し、その機能は進化と改善を続けMontereyにも継承されています。

そして、この1年間でさまざまな変化がありました。ここでは、Montereyのインストールを管理するための以下の新しい方法についてご紹介します。

  • インストールの制限
  • macOSインストーラの配布
  • 消去、インストールまたはアップグレード可能なMacの識別
  • リモートでのmacOSインストーラの実行
  • New!-すべてのコンテンツと設定を消去

インストールの制限

管理者がMontereyのサポート体制を整える前に、エンドユーザが早々と自分でインストールしてしまうことがあります。エンドユーザに新しいmacOSのメジャーバージョンをインストールさせないために、どのような措置を取るべきでしょうか。 エンドユーザは自身でインストーラを入手し、さまざまな方法でそれを実行できるため、管理者はそれに対して、複数の措置を講じる必要があります。

禁止事項の周知

管理者によるサポート体制整備前に、エンドユーザが新しいOSをインストールしてしまうことを防ぐためには、まず「macOSのメジャーアップグレードをインストールするにはIT部門の承認が必要です」という組織のポリシーをエンドユーザに周知することです。また、コンプライアンス違反に対するIT部門のスタンスを必ず明記してください。

この方法で、ユーザによるインストールを完全に防ぐことはできませんが、権限を奪うことなくIT部門の権威を主張することができ、組織によっては、これで十分な場合もあります。

ソフトウェアアップデートの自動チェックを無効にする

まず、softwareupdateコマンドの機能である--ignoreオプションについて説明します。以前はこのオプションをmacOSのアップデートを非表示にするために使用していました。macOS Catalina 10.15では、以下のようになっていました。

しかし、macOS Big Sur 11.0からこのオプションは使用できなくなりました。

現在、管理者がMacからMontereyを隠すための唯一の選択肢は、ソフトウェアアップデートの自動チェックを無効にして、エンドユーザが手動でアップデートをチェックしないようにすることです。但し、これだけではエンドユーザが他の方法でMontereyのインストーラをダウンロードしてインストールすることを防ぐことはできませんのでご注意ください。(IT管理者は、Jamf Proのコマンドで利用可能なアップデートの入手とインストールを実行することができます。)

ソフトウェアアップデートの自動チェックを無効にする方法

  1. Jamf Proで「Computers(コンピュータ)」→「Configuration Profiles(構成プロファイル)」を選択し、「New(新規)」をクリックして新しいプロファイルを作成します。
  2. 「General(一般)」ペイロードで「Disable Automatic Software Updates(自動ソフトウェアアップデートの無効化)」などと命名します。
  3. ペイロードのリストを「Software Update(ソフトウェアのアップデート)」までスクロールダウンし「Configure(構成)」をクリックします。
  4. 「Automatically check for updates(アップデートの自動確認)」を無効にしますが、その他すべての関連オプションを無効にすることも検討してください。
  5. プロファイルのスコープを設定したら、保存してデプロイします。

ただし、このプロファイルだけでは、エンドユーザが「System Preference(システム環境設定)」の「Software Update(ソフトウェアアップデート)」パネルを手動で開いてアップデートを確認するのを禁止できません。そのため、「Software Update(ソフトウェアアップデート)」パネルへのアクセスを明示的に拒否する必要があります。

Restrictions(制限)ペイロード付きの構成プロファイルを配布済みの場合は、そのプロファイルを編集して、「Preferences(環境設定)」>「Disable Selected Items(選択した項目を無効にする)」>「Software Update(ソフトウェアアップデート)」を選択します。保存の際に「deploy to all computers(すべてのコンピュータにデプロイする)」オプションを選択します。

コンピュータの制限構成プロファイルは旧式のままなので、必要以上の設定がデプロイされる可能性があります。この設定をデプロイするには、Jamf Proのカスタムマニフェスト機能を使用します。

  1. GitHubからマニフェストmacOS Disabled System Preference Panes.jsonをコピーします。
  2. Jamf Proで「Computers(コンピュータ)」→「Configuration Profiles(構成プロファイル)」を選択し、「New(新規)」をクリックして新しいプロファイルを作成します。
  3. 「Disable Software Update pane(ソフトウェアアップデートパネルの無効化)」などと命名しておきます。
  4. ペイロードのリストを「Application & Custom Settings(アプリケーションとカスタム設定)」までスクロールし、「External Applications(外部アプリケーション)」をクリックします。
  5. 「Add(追加)」をクリックします。
  6. 「Source(ソース)を「Custom Schema(カスタムスキーマ)」に設定します。
  7. 「Preference Domain(環境設定ドメイン)」を「com.apple.systempreferences」に設定します。
  8. 「Add Schema(スキーマの追加)」ボタンをクリックし、GitHubからコピーしたマニフェストのテキストを「Custom Schema(カスタムスキーマ)」フィールドに貼り付けます。Save (保存) をクリックします。
  9. 「System Preferences Pane Identifier(システム環境設定パネル識別子)1」フィールドに「com.apple.preferences.softwareupdate」と入力します。
  10. プロファイルのスコープを設定したら、保存してデプロイします。

プロファイルがインストールされると、「Software Update(ソフトウェアアップデート)」パネルが薄暗くなり、ユーザはアクセスできなくなります。なお、プロファイルのインストール前にアップデートが検出されていた場合は、アイコンにアラートバッジが表示されます。

Jamf Proの制限付きソフトウェア機能を利用する

管理者は、Jamf Proの「Computer(コンピュータ)」にある「Restricted Software(制限付きソフトウェア)」機能を設定して、ユーザによるMontereyインストーラの実行に対する警告を表示、または実行自体を禁止することができます。この機能を利用する方法はいくつかあります。また、通常ユーザにも管理者にも適用されます。

1. アプリケーション名で制限してエンドユーザに警告する。

この方法もエンドユーザによるMontereyのインストールを完全に防ぐものではありませんが、ソフトウェアのインストールが試行されると、エンドユーザと管理者の両方にメールでアラートが届くように設定できます。Big SurなどのサポートされているバージョンのmacOSをインストールしようとしてもアラートは発生しません。

2. InstallAssistantプロセスの使用を制限し、エンドユーザに警告する。

エンドユーザが変更できてしまうアプリケーション名で制限するのではなく、InstallAssistantという名前のプロセスを制限します。この名前のプロセスは任意のmacOSインストーラがダブルクリックされ、プロセスを案内するウィンドウが表示されたときに実行されます。このプロセスは、インストーラがstartosinstallコマンドラインツールによって実行された場合には何もしません。

3. アプリケーション名の使用を制限し、プロセスを終了する。

これは最初の方法と似ていますが「Kill Process(プロセスを終了する)」オプションが追加されています。エンドユーザによる続行を許可せず、Jamf Proが数秒以内にインストーラを終了します。「Delete Application(アプリケーションを削除)」オプションを追加すると、ゴミ箱に移動することなく直ちに削除されます。

アプリケーション名で制限する場合、エンドユーザがインストーラの名前を変更するだけで制限を回避できることに注意してください。

4. InstallAssistantプロセスの使用を制限して、プロセスを終了する。

これは2番目の方法と似ていますが、「Kill Process(プロセスを終了する)」オプションと「Delete Application(アプリケーションを削除)」オプションが追加されています。これにより、Monterey、Big Surなど各種macOSインストーラがダブルクリックされたときに実行されるのを防ぐことができます。

メジャー/マイナーアップデートの最大90日間の延期

アップデートが最初にリリースされてから最大90日間アップデートを延期することがAppleによって許可されています。(注:そのMacに初めてアップデートの通知がされたときからではありません)この間、アップデートは「System Preferences(システム環境設定)」の「Software Update(ソフトウェアアップデート)」パネルには表示されず、コマンドラインツールのsoftwareupdateを実行しても表示されません。ただし、Jamf Proのコマンドを使用すればインストールすることが可能です。

macOS High Sierra 10.13以降で動いているMacは、アップデートの延期に対応し、macOS Big Sur 11.3以降で動いているMacはmacOS Montereyのリリースに合わせ、メジャー/マイナーアップデート両方の延期に対応しています。

  つまり、macOS Big Sur 11.3以降では、メジャーアップグレードとマイナーアップデートの2種類のアップデートがインストール可能になり、macOS Monterey 12.0.1とmacOS Big Sur 11.6.1の両方が利用可能な場合、どちらをインストールするか選択できます。

さらに、Jamf Pro 10.32以降を使用している管理者は、コンピュータの構成プロファイルにアップデートされたRestrictions(制限)ペイロードによって、エンドユーザにどれを表示するかを選択することができます。例えば、管理対象のMacにマイナーなBig Sur 11.6.1のアップデートを表示させる一方で、メジャーアップグレードのMontereyは隠すといったことが可能です。

メジャーアップグレード、マイナーアップデート、またはその両方を延期する設定方法

  1. Jamf Proで「Computers(コンピュータ)」>「Configuration Profiles(構成プロファイル)」を選択します。
  2. 構成プロファイルを新規作成してRestrictions(制限)ペイロードを追加するか、既にRestrictions(制限)ペイロードが追加されている既存プロファイルを編集します。
  3. 「Functionality(機能)」タブでページの最後までスクロールし、「Defer Updates(更新の延期)」を有効にします。
  4. メニューから、すべてのアップデートの延期、メジャーアップデートの延期、マイナーアップデートの延期、またはSafariなどOS以外のアップデートの延期を選択します。
  5. プロファイルのスコープを設定したら、保存してデプロイします。

IT管理者によるアップデートの延期は、Appleが推奨する、利用可能なアップグレードやアップデートの管理方法です。また、ベータテストと並行させることで、余裕を持って自分の組織の環境が新しいmacOSバージョンに対応しているかどうかを検証したり、ソフトウェアベンダーと協力してアップデートを提供したりすることができます。

Apple Business ManagerまたはApple School Managerのアカウントを所有している組織であれば、管理者はAppleのIT部門向けベータソフトウェアプログラムであるAppleSeedにアクセスして、新しいソフトウェアアップデートのベータ版をリリース前にテストできます。通常、ベータ版は一般へのリリースの2カ月前には公開されます。ベータ期間と90日間の延期の期間を合わせると、管理者は自社環境への導入前に約5カ月間ソフトウェアを検証することができます。

管理者権限の削除

管理者権限があるMac上では、OSのインストールをはじめ、ほとんど何でも実行できてしまいます。最も基本的な対策は、エンドユーザから管理者権限を剝奪し、許可したポリシーの実行にはSelf Serviceの使用を要求することです。

しかし、管理者権限を削除すると、エンドユーザがIT部門による管理に大きく依存することになります。

ファームウェアまたはRecovery Lockにパスワードを設定する

Intel Macのファームウェアパスワード、Apple Silicon MacのRecovery Lockパスワードを設定することで、パスワードがなければRecovery HDを起動し、既存のOSを消去し、新しいmacOSをインストールすることができなくなります。ハードウェアレベルでの制限が掛かり、パスワードを知らなければインストールやアップグレードができなくなります。

ハードウェアレベルでパスワードを設定する際の注意点は、リモートユーザ担当のテクニカルサポートが、このパスワードをエンドユーザに伝えなければならない場合があることです。各Macに異なるパスワードを設定して、同じパスワードで他のコンピュータのロックを解除できないようにする必要があります。

管理者は、Jamf Pro 10.32を使用してApple Silicon Macの自動デバイス登録の際にRecovery Lockのパスワードを自動設定し、Jamf Pro 10.33以降ではパスワードが表示されると自動で更新させることができます。

管理者は、Montereyインストーラへのアクセスを制限することと、各自でインストールする必要性を比較衡量する必要があります。例えば、Exclusion(除外)の適用範囲を指定して、各自のテストデバイスには制限をかけないようにすることができます。

macOSインストーラの配布

macOSインストーラを展開する前に、そのインストーラを取得する必要があります。Macのインストーラ、アップグレード、アップデートを中心に深堀りするMr. Macintoshというブログがありますが、そこではフルインストーラをダウンロードするための8つの方法が紹介されています。ここではその一部を紹介します。

softwareupdateによるデプロイ

以前、Appleのsoftwareupdateコマンドの--fetch-full-installerオプションについて解説しました。

この小さく軽量なコマンドは、管理対象のMacに送信することで、各々がインストーラを取得することができるという利点があり、オンプレミスのコンテンツキャッシングサーバとの相性が抜群です。信頼性もこの1年で大きく向上しました。

:1つの部屋または1つの建物にある多数のMacをアップグレードするのに、専用のコンテンツキャッシュサーバを設置する必要はありません。1台または複数台の高性能なMacワークステーションをキャッシュサーバとして構成するために「System Preferences(システム環境設定)」の「Sharing(共有)」パネルで「Content Caching(コンテンツキャッシング)」をオンにします。別のMacでsoftwareupdateコマンドを手動で実行し、キャッシュサーバとしてスタンバイさせておく(あらかじめインストーラをダウンロードしておく)。以降残りのMacは、インターネットからではなく、このサーバから自動でプルするようになります。

macOS Big Sur 11.3の新機能として、macOS Mojave 10.14.6までさかのぼって利用可能なインストーラを取得できるようになりました。ターミナルを開き、以下のコマンドを実行します。

次のような結果が返されます。

 Software Update found the following full installers:

* Title: macOS Monterey, Version: 12.0.1, Size: 12128428704K

* Title: macOS Big Sur, Version: 11.6.1, Size: 12428472512K

* Title: macOS Big Sur, Version: 11.6, Size: 12428553042K

* Title: macOS Big Sur, Version: 11.5.2, Size: 12440916552K

* Title: macOS Big Sur, Version: 11.5.1, Size: 12440158909K

* Title: macOS Catalina, Version: 10.15.7, Size: 8248985973K

* Title: macOS Catalina, Version: 10.15.7, Size: 8248854894K

* Title: macOS Catalina, Version: 10.15.6, Size: 8248781171K

* Title: macOS Mojave, Version: 10.14.6, Size: 6038419486K

古いフルインストーラをダウンロードするには、--full-installer-versionオプションを追加し、入手したいmacOSのバージョンを指定します。例えば、macOS Big Sur 11.5.1のインストーラを入手するには、次のように実行します。

このリストコマンドはBig Sur 11.3以降でしか動作しませんが、少なくとも、アップグレードの準備ができていない、あるいはアップグレードできないMac向けに古いインストーラを取得し、Jamf Proに追加することができます。

Volume Purchasing(一括購入)によるデプロイ

macOS Montereyのインストールアプリケーションは、Apple Business ManagerやApple School Managerの画面にある「Apps and Books」から入手して、他のMac App Storeアプリケーションと同様にデプロイできます。つまり、巨大なパッケージを配信ポイントにアップロードしたり、新しいバージョンがリリースされたときに管理したりする必要がないということです。「macOS Monterey」を検索して、Jamf Proサーバにライセンスを割り当てます。

この方法はうまく機能しますが、十分に注意したいことが一点あります。これにより、「スタブ」インストーラと呼ばれるものがダウンロードされます。これはフルインストーラではなく、アプリケーションのバンドルから12GBのSharedSupport.dmgを除いたものに相当します。ダブルクリックまたはコマンドラインツールstartosinstall(後ほど説明)で実行すると、Mac(インターネットに接続されている必要があります)が、残りのファイルのダウンロードを完了します。インターネット回線の速度状況によっては、インストールが開始されるまでに10分、20分、30分、またはそれ以上の時間がかかることがあります。

このタイプの導入は、大学の研究室にあるような夜間に無人で放置できるMacに最適で、配信を高速化するコンテンツキャッシュサーバとの相性も良好です。ご家庭でお使いになる場合や、Self Serviceなどを利用してインストーラを各自で起動する場合は、Macをスリープ状態にしない、電源に接続したままにする、インストールが完了するまでの時間を確保することに注意してください。

ダウンロードとパッケージ化を避ける

過去の記事にて、Mac App Storeを利用して、大きなサイズのファイルに対応した特別なツールによってダウンロードしたmacOSのインストーラをパッケージ化する方法をご紹介しました。(例えば、Jamf ComposerはmacOSインストーラのDMGを作成することはできますが、PKGを作成することはできません。)

しかし、インストーラは元のシステムから新しいシステムにコピーされるため、初回起動時にAppleのGatekeeper機能がアプリのスキャンを要求します。これには数分かかり、インストーラの開始を遅らせることになります。

このプロセスを簡単かつ高速にしてくれるオープンソースコミュニティのツールがここ1年で新たに登場しています。各々のmacOSインストーラをパッケージ化することは避け、代わりにコミュニティツールを使用してください。

Appleからインストーラパッケージをダウンロードする

昨年、Scripting OS Xを運営するArmin Briegel氏は、最新のBig Surインストーラを確実に取得するだけでなく、アプリケーションフォルダに展開できるようにPKG形式でダウンロードするスクリプトを公開しました。

彼が開発したfetch-installer-pkg.pyというツールは、Appleのソフトウェアアップデートサーバにアクセスし、Macに内蔵されているソフトウェアアップデートサービスが使用するのと同じパッケージをダウンロードするPythonスクリプトです。Armin氏のGitHubリポジトリから入手できます。

その後、彼は、より使いやすいアプリケーションDownload Full Installerを開発しました。彼のブログ記事にあるリンクをたどって、彼のGitHubリポジトリから「Download.Full.Installer-v1.1.1.zip」ファイルを入手し、そのアプリを実行するだけです。必要なBig SurまたはMontereyのインストーラ横の矢印をクリックしてください。極めてシンプルです。

完了したら、InstallAssistantのパッケージをJamf Proに直接アップロードし、ポリシーを使ってMacにデプロイします。アップロード前にパッケージファイル名をリネームしても問題ありません。

上記いずれかの方法でインストーラをデプロイしたら、そのデプロイが成功したかどうかを確認してください。では次に、Montereyのインストール要件について確認します。

消去およびインストールの対象となるMacの識別

インストーラを実行してMacを消去してインストール、またはアップグレードする前にも、まずどのMacがAppleのシステム要件を満たしているかを識別する必要があります。2021年、AppleはMontereyの技術的要件について、最低限のハードウェア要件以外ほとんど公表していません。以下の一般要件は、最低限のハードウェアの仕様に基づいています。

一般要件

  • OS X Yosemite 10.10以降(最低限サポートされるハードウェアを対象とする)
  • メモリ8GB(最低限サポートされるハードウェアを対象とする)
  • macOS Sierra 10.12以降の場合は26GB、YosemiteおよびmacOS El Capitan 10.11の場合は44GBの空きストレージ(インストーラを保存するための追加領域13GBも含む)

ハードウェア要件

  • MacBook(Early 2016以降)
  • MacBook Air(Early 2015以降)
  • MacBook Pro(Early 2015以降)
  • Mac mini(Late 2014以降)
  • iMac(Late 2015以降)
  • iMac Pro(2017以降)
  • Mac Pro(2013以降)

Monterey対応Mac(Smart Computer Group)

対象となるMacを識別するために「macOS Monterey対応Mac」という名のスマートグループを新規作成します。AppleはメモリやmacOSのバージョンなどの要件を明示していないため、各モデルの基本仕様がそれらの要件を満たしていると仮定して、それらの条件を除外します。そして、インストーラの保存に13GB、実行に26GB、計40GBの容量が必要だとします。

以下の条件を追加します。

 Boot Drive Available MB more than 40000
and Model Identifier matches regex 

AppleがMontereyの対象としているモデルを正確に特定するには、50近くあるMacのモデル識別子を使用する必要があります。 正規表現(regex)を利用すれば、50行弱の条件でスマートグループを煩雑にすることなくモデルを識別することができます。正規表現によって、モデルの識別子など特定の文字列にマッチするパターンを作成することができます。この1行のテキストは、2021年時点までに登場したモデルを含む、全ての対象モデルにマッチします。このテキストをコピーして、スマートグループの「Model Identifier(モデル識別子)」条件の値フィールドに貼り付けます。

 (MacBook(10|9)|MacBookAir(10|[7-9])|Macmini[7-9]|MacPro[6-7]|iMacPro1|iMac(1[6-9]|2[0-2])),\d|MacBookPro1(1,[45]|[2-8],\d)

保存したら「View(表示)」ボタンをクリックし、グループが正常に動作していることを確認してください。

キャッシュからmacOS Monterey.appをインストール(Smart Computer Group)

ついでに、「Install macOS Monterey.app Cached」という名前の2つ目のスマートグループを作成し、以下の条件を追加します。

 Application Title is Install macOS Monterey.app
and Application Version like 17.0

これにより、アプリケーションフォルダにMontereyのインストーラアプリが既に存在するMacを特定し、Jamf Proが再度ダウンロードするのを防ぐことができます。インストーラアプリを選択し、「File(ファイル)」→「Get Info(情報を見る)」から、現在のバージョンを確認してください。

スマートグループによるインテル搭載MacとAppleシリコン搭載Macの識別

追加された2つのスマートグループは、従来のインテル搭載Macと新しいAppleシリコン搭載Macのアーキテクチャを区別するのに今後数年間は役立つことでしょう。

Intel Macを識別するために「Intel Macs」という名前のスマートグループを新規作成します。

以下の条件を追加します。

 Apple Silicon is No

次に、Appleシリコン搭載のMacを識別するために「Apple Silicon Macs」という名前で2つ目のスマートグループを作成します。

以下の条件を追加します。

 Apple Silicon is Yes

Montereyに対応したMacを特定し、2つのMacのアーキテクチャを区別するためのグループを用意したところで、インストーラの実行方法を見てみましょう。

Montereyのインストーラを消去とインストールに使用する(またはインストールしない)

Montereyのインストーラを実行するにあたって、現時点で3つ考慮しなければならないことがあります。

  • インテル搭載Mac
  • Big Sur以前のAppleシリコン搭載Mac
  • インテルT2チップ搭載のMacとAppleシリコン搭載Mac(macOS Monterey)

インテル搭載Mac

インテルMacにT2セキュリティチップを搭載しているか搭載していないかで、消去とインストールのワークフローにほとんど違いありません。ここでもstartosinstallが利用できます。

startosinstallコマンドラインツールは、Install macOS Monterey.appバンドル内にあります。このツールは、ダイアログやウィンドウを表示せずに、インストーラアプリケーションをダブルクリックしたのと同じことを実行します。また、ソフトウェアの制限を使用してInstallAssistantプロセスをブロックしている場合でも動作するという利点があり、スクリプトやJamf Proポリシーの一部として実行することができます(なお、Self Serviceの使用も可)。

このコマンドラインツールを見つけるには、「Install macOS Monterey」アプリケーションを右クリックまたはControlキーを押しながらクリックし、「Show Package Contents(パッケージの内容を表示)」→「Contents(コンテンツ)」→「Resources(リソース)」を選択します。startosinstallファイルをTerminalウィンドウにドラッグし、末尾に--usageを追加します。

これにより(ダブルダッシュで始まる)いくつかの引数とそれぞれの実行内容が表示されます。次の一部またはすべてを使用します。

  • --eraseinstall-消去とインストールをかけるオプション
  • --agreetolicense-プロセスを完全に自動化するために必要
  • --forcequitapps-実行中のアプリにインストールを妨害させないようにする
  • --newvolumename-Macintosh HDの名前を指定または変更するオプション

最近は、ポリシーのFiles and Processes(ファイルとプロセス)のペイロードにコマンドとして追加するよりも、スクリプトにコマンドを入れる方が確実に動作します。Jamf Proで「Erase disk and install macOS Monterey(ディスクを消去しmacOS Montereyをインストールする)」という名前で新規スクリプトを作成し、Scriptタブの下に以下の内容を貼り付けます。

スクリプトをポリシーに追加し、Self Serviceで利用できるようにします。また、それに合わせて、以下の2つのポリシーが必要です。

ポリシー Install macOS Monterey.appをキャッシュする

1つ目のポリシーは、対象のMacにInstall macOS Monterey.appを配布します。

一般

  • 表示名:Cache Install macOS Monterey.app
  • トリガー:定期的なチェックイン
  • 実行頻度:Ongoing

パッケージ

  • パッケージ:InstallAssistant.pkg(以前ダウンロードしたもの)

メンテナンス

  • Update Inventory:有効

Scope

  • ターゲット:スマートグループ macOS Monterey Compatible Macs
  • 例外:スマートグループ Install macOS Monterey App Cached

正常にを終了すると、スマートグループ「Install macOS Monterey.app Cached」に、消去とインストールする準備の整ったMacがリストアップされるはずです。

ポリシー macOS Montereyの消去とインストールをする

Jamf Proで「Erase and Install macOS Monterey(macOS Montereyの消去とインストール)」という名前で2つ目のポリシーを作成します。以下のペイロードとスコープで作成します。

一般

  • 表示名:Erase and Install macOS Monterey
  • トリガー:なし(代わりにSelf Serviceを有効化)
  • 実行頻度:Ongoing

スクリプト

  • スクリプト:Erase disk and install macOS Monterey(ディスクを消去しmacOS Montereyをインストールする)

Scope

  • ターゲット:スマートグループ Install macOS Monterey.app Cached
  • 除外:スマートグループ Apple Silicon Macs

Self Service

  • ボタン名:Erase & Install(消去とインストール)
  • 説明:警告-お使いのMacは完全に消去され、macOSが再インストールされます。続行する前に、すべての重要なファイルとユーザデータを別のコンピュータまたはバックアップシステムにコピーしてくささい。消去されると、Macに削除されたデータを復元することはできません(マークダウンによりメッセージを強調することを検討してください)。
  • Ensure that users view the description(ユーザへの説明文の表示):有効

ボタンアイコンを追加し、カテゴリを割り当て、ポリシーを保存します。Macがチェックインすると、Montereyのインストーラをインストールし、インベントリをアップデートします。その後、すべてのエンドユーザまたはスコープ指定した特定のユーザが、Montereyを消去してインストールするためのSelf Serviceポリシーを利用できるようになります。なお、Appleシリコンを搭載したMacはこのポリシーの対象外となります。Appleシリコン搭載Macには若干異なるバージョンのスクリプトが必要です(後述)。

重要:Montereyインストーラは、これまでのインストーラとは違う動きをします。すぐにMacを再起動した後にソフトウェアのインストールや設定に20〜50分かかるのではなく、MontereyはMacを再起動する前にほとんどすべてのインストールと設定を行います。これにより、約20~30分またはそれ以上の間、何も起きていないように見えます。最後に非常に短い時間(通常は5分以内)だけAppleロゴが表示されます。

「Erase disk and install macOS Monterey(ディスクを消去しmacOS Montereyをインストールする)」スクリプトの最初に、jamfHelperの画面のようの何が起こっているかについての説明を加えることをご検討ください。例えば、echoコマンドの直前に以下の行を追加することで対象のMacのユーザに何が起きているのかを伝えることができます。

Big Sur以前のAppleシリコン搭載Mac

Appleは昨年、新たにAppleシリコンM1チップを搭載した製品ラインをリリースしました。Appleシリコン搭載Macでは「ボリュームオーナーシップ」という概念が導入され、startosinstallコマンドの消去、インストール機能に影響を与えています。

startosinstallを実行するには、Macの「所有者」(Macを自分用に設定して最初に所有権を主張したユーザ)が、ユーザ名とパスワードをコマンドの実行を承認する必要があります。この機能はJamf Proにはありません。また、所有者がIT管理者ではない可能性もあります。

そこで、私たちIT管理者には何ができるでしょうか。2つの選択肢がありますが、どちらも素晴らしいものではありません。いずれの方法も何らかの方法で取得した「所有者」のユーザ名とパスワードをstartosinstallコマンドに与える必要があります。

パスワードが分かっている場合

macOSはAppleシリコン搭載MacでもインテルMacと同じように動作しますが、startosinstallコマンドにはAppleシリコンに対してのみ以下2つの必須パラメータが追加されています。

  • --user-インストールを許可する管理者ユーザ
  • --stdinpass-インタラクションなしで標準入力からパスワードを取得

コマンドの一部として、セキュアトークン付きのアカウントのユーザ名とパスワードを提供する必要があります。今日、セキュアトークンは主にFileVaultを使用するための要件として知られています。

コマンドの例

この例では、コマンドの最後の方で管理者アカウント名「adminuser」が、最初の方で管理者アカウントのパスワード「P@55w0rd」が平文で記されています。できれば、パスワードは何らかの方法で難読化して、隠しておきたいところです。

上記コマンドの利点は、エンドユーザにMacを消去してmacOSを再インストールさせるためのSelf Serviceポリシーでも使用できることです。デメリットは、Jamf Proの管理者がすべてのコンピュータの管理者ユーザ名とパスワードを知っている必要があることと、Jamf Proのスクリプトやポリシーに対する権限を持つ人にパスワードが公開されることです。

ポリシーの範囲指定の除外を必ず「Intel Mac」に設定してください。この設定をしないと、インテル搭載MacとAppleシリコン搭載Macのポリシーが同一になります。

パスワードが分からない場合

エンドユーザが新しいMacを提供され、そのセットアップ中にボリュームオーナーになる場合について考えてみましょう。この場合、エンドユーザにダイアログからユーザ名とパスワードを入力してもらう必要があります。

選択の幅を広げたい管理者は、Graham Pughのerase-installプロジェクトの利用を検討してください。Graham Pughは、新しいインストーラの取得、エンドユーザに認証情報を要求、(前述の)jamfHelperやDEPNotifyを使用したステータス情報の提供など、8つのステップからなる詳細なWikiを提供しています。

インテルT2チップ搭載のMacとAppleシリコン搭載Mac(macOS Monterey)

macOS Montereyでは、iOSを参考にした新機能、Erase All Content and Settings(すべてのコンテンツと設定を消去)が導入されました。

iOSは、ストレージをiOS OS用の読み取り専用ボリュームと、アプリやユーザデータ用の書き込み可能ボリュームに分割するというコンセプトを長年実践してきました。このパーティション分割により、デバイスがリセットされても完全に消去されることはありません。ユーザパーティションの削除および再作成が数分足らずで効率良く完了します。

「Settings(設定)」→「General(一般)」→「Transfer or Reset(転送またはリセット)(iOS 15)」→「Erase All Content and Setting(すべてのコンテンツと設定を消去)」を選択すると、アプリとデータが消去され、既存のApple IDからログアウトし、「Find My(探す)」が無効になり、Apple Walletに保存されているクレジットカード情報が削除されます。

macOS High Sierra 10.13あたりから、AppleはHFS+ファイルシステムからApple File System(APFS)に移行し、多くの興味深い機能と大幅なセキュリティの向上を実現しました。その後、Catalinaでは、iOSのパーティション方式を採用し、Macintosh HDを読み取り専用(OS用)と書き込み可能なデータ(アプリやユーザデータ用)に分離しました。

MontereyはApple File System(APFS)や同様のパーティショニングスキームにより、すべてのユーザデータを削除した状態でMacを工場出荷時の状態に戻す機能を提供します。しかし、ここがポイントなのですが、OSは工場出荷時の状態に戻りません。Monterey 12.0.1で出荷されたMacが、後日Monterey 12.1.0にアップデートされた場合、すべてのコンテンツと設定を消去してもMontereyは12.1.0のままです。

この作業は5分とかかりません。

ボタンを1回クリックするだけとまではいきませんが、シンプルであることには変わりません。ユーザはシステム環境設定を開き、システム環境設定から「Erase All Content and Settings(すべてのコンテンツと設定を消去)」を選択します。

あるいは、Jamf Proの管理者は、Self Serviceにこの機能を追加するために、このコマンドを実行するためのFiles and Processes(ファイルとプロセス)ペイロードを含むポリシーを作成することができます。

 Erase Assistantには、まだインタラクションが必要で、続行するには、Macの前に座っている人が、管理者用のユーザ名とパスワードを入力する必要があります。

そのエンドユーザがApple IDでサインインしている場合は、Apple IDからサインアウトするためにパスワードの入力が必要です。

最後に、MontereyがインストールされたIntel T2チップ搭載MacおよびAppleシリコン搭載Macは、ローカルのエンドユーザによる「Erase All Content and Settings(すべてのコンテンツと設定の消去)」の実行をサポートするだけでなく、MDMからのリモートでの「Erase All Content and Settings(すべてのコンテンツと設定の消去)」の実行もサポートします。

Jamf Proの管理者がコンピュータの記録を元にWipe Computer(コンピュータをワイプ)コマンドを送信した後、Jamf ProによってMontereyが稼働するIntel T2チップ搭載MacまたはAppleシリコン搭載Macが検出された場合、Wipeコマンドの代わりにEraseDeviceコマンドを送信します。この場合も、インストールされているmacOSを保持しつつ、アプリとユーザデータを安全に削除します。

:Montereyが稼働するインテルT2チップ搭載MacやAppleシリコン搭載Macを再利用や廃棄に備えて完全にワイプする必要はもはやありません。FileVaultを有効にしなくても、ユーザデータはドライブ上で常時暗号化されています。コンテンツや設定を消去すると、情報にアクセスするための暗号キーも破壊されます。

消去の代わりにアップグレード

startosinstallのワークフローを1か所変更するだけで、アプリケーション、データ、ユーザ設定を保持したままOS X Yosemite 10.10以降のOSからmacOS Montereyにアップグレードすることができます。Montereyの再インストールも可能です。同じバージョンのmacOSをインストールすることで、破損した箇所を修復できる場合があります。

「Erase disk and install macOS Monterey(ディスクを消去してmacOS Montereyをインストールする)」スクリプトを編集するか、複製して新たに作成したスクリプトの名前を「Upgrade to macOS Monterey(macOS Montereyにアップグレードする)」に変更します。そして、コマンドを編集して--eraseinstallと--newvolumenameオプションを省略します。新しいポリシーを作成し、スクリプトを追加します。対象のMacにスコープを設定します。

なお、こちらはIntel Macでのみ動作します。Big Sur以前のAppleシリコン搭載Macの場合は、スクリプトにボリュームオーナーのユーザ名とパスワードを含めるか、エンドユーザに認証情報を求める必要があります。上述のGraham Pugh氏のerase-installスクリプトでは、Macを消去するのではなくアップグレードするという選択肢があります。

また、Jamf Proは、T2チップを搭載したインテル搭載MacやAppleシリコン搭載Macへの一括処理コマンドを使用したMDMコマンドの送信をサポートしています。

デフォルトでは、管理者がメジャーアップデートも対象にするためのオプションを明示的に有効化しない限り、macOSをアップデートするコマンドはメジャーバージョンを除外します(例:Jamf ProはBig SurからMontereyへのMacをアップデートしません)。この機能は一括処理コマンドとしてのみ利用可能です。1台のコンピュータを表示しているとき、このオプションは隠れています。

Jamf Proでは、Advanced Computer Searches(コンピュータの高度検索)またはスマートグループを使って、アップグレード対象のMacの一覧を表示します。「Send Remote Commands(リモートコマンドを送信)」を選択し「Next(次へ)」をクリックします。OSバージョンをアップデートするために2番目のオプションを選択し、アップデートをダウンロードしてインストールするために、ページ最下部にあるオプションを選択します。最後に「Include Major Updates(メジャーアップデートを含む)」を有効にします。

このコマンドには十分注意してください。アップグレードにはMacの再起動が必要になるのですが、エンドユーザにはこのことは通知されません。 このアップグレード機能は、学校の研究室などにある共有マシンのアップグレードに適しています。

結論

ここ2、3年で、OSをリモートで再インストールするための環境は大きく変わりました。

  • 好ましくないmacOSのアップグレードを阻止することは困難さを増していますが、とりわけJamf Proを利用すれば依然として管理可能です。
  • Big Sur 11.3以降では、最新のオプションだけでなく、さまざまなアップデートやアップグレードのオプションが提供されます。
  • Montereyでは、待望の管理機能が導入されました。
  • より使いやすいmacOSインストーラを入手するためのさまざまな方法があります。
  • 2つのコンピュータアーキテクチャ(インテルとAppleシリコン)があり、それぞれ微妙に異なる管理機能を備えています。
  • APFSフォーマットされたディスクは、macOSを消去して再インストールする(または再インストールしない)ための興味深い選択肢を提供してくれます。
  • macOSのさまざまなバージョンをダウンロードするためのsoftwareupdateコマンドは、信頼性が高いだけでなく堅牢です。
  • ドライブの消去やOSの再インストールといった作業は今後不要になります。管理者は、Montereyが稼働する新しいインテルまたはAppleシリコン搭載Macを5分もかからずに工場出荷時の状態にリセットし、Jamf Proに再登録できます。

Montereyは私たちにとってまだ新しい領域ですが、まったくの別世界というわけではありません。これまで使用してきたコマンドの多くはまだ機能します。また、Macをリセットするための新しいワークフローも用意されていますが、これは多くの管理者が社内環境のiPhoneやiPadで既に使用しているものです。イメージ作成によるバックアップはすでに過去のものです。シンプルに初期状態へと戻す方が今の時流にあっていると思います。

まずは、トライアルからJamf Proをお試しください

Still on macOS Big Sur?

Learn this same workflow, fit for your OS

Bill Smith
ブログ購読

マーケットトレンド、Apple の最新情報、Jamf のニュースをメールでお届けします。

当社がお客様の情報をどのように収集、利用、移転、および保存するかに関しては、プライバシーポリシーをご参照ください。