Intuneからmacにシェルスクリプトを流してみた

Intuneからmacにシェルスクリプトを流してみた

Hello,World! gonowayです。

2020/3/26にIntuneで管理されているmacデバイスに対してシェルスクリプトを流す機能がパブリックプレビューとなりました。

弊社では、macデバイスはJamf Proで管理しているのですが、Intuneでmacデバイスを管理したいという要望もあるかと思うので、この機能を実際に触ってみたいと思います。

注意事項

検証を行った2020/4/6時点ではパブリックプレビューの段階です。 一般提供(GA)になったタイミングで仕様が変わる可能性がある旨、ご了承ください。

必要なもの

  • Intuneを使用するためのライセンス

    • MS365 E3 or E5
    • EMS E3 or E5
    • Intune単体
  • macデバイス

    • macOS 10.12以降であることが条件です
  • Microsoftの職場または学校のアカウント

    • 今回はAzureADで作成したアカウントを使用します。
  • シェルスクリプト

    • シェルスクリプトは#!/bin/sh もしくは #!/usr/bin/env zshで始める必要があります
    • 今回はテスト用にmacOSのソフトウェアアップデートを確認し、Downloads配下に出力を行う以下の内容としました。
# !/bin/sh

softwareupdate --list >& /Users/gonohe-test/Downloads/softwareupdate.log

参考ドキュメント

工程

  1. macデバイスをIntuneに登録
  2. AzureADでデバイスグループを作成
  3. Intuneにシェルスクリプトを登録
  4. macデバイスでシェルスクリプトが実行されたか確認

1. macデバイスをIntuneに登録

Intuneに登録したシェルスクリプトをmacデバイスで実行するために、macデバイスをIntuneに登録します。 今回は検証のため、BYOD方式でIntune登録を行います。

ポータルサイトアプリのインストール

  • Enroll My Macに移動します。
  • Intune ポータル サイト インストーラーの .pkg ファイルがダウンロードされます。
  • インストーラーを開き、手順を続けます。
  • ソフトウェア使用許諾契約に同意します。
  • デバイスのパスワードまたは登録されている指紋を入力して、ソフトウェアをインストールします。
  • 必要なデータに関する通知は、OKをクリックします。
  • インストール後はパッケージをゴミ箱に入れてしまっても構いません。
  • Intuneポータル サイトを開きます。

macデバイスを登録する

  • 職場または学校のアカウントでポータル サイトにサインインします。

  • アプリが開いたら [開始] を選択します。

  • 登録されたデバイスで組織が見ることのできるものと、できないものを確認し、 [続行] を選択します。

  • [管理プロファイルをインストールする] 画面でデバイスのパスワードを求められた場合、入力します。

  • [デバイス管理の確認] 画面で、 [システム設定を開く] を選択します。

  • デバイスのシステム設定が開きます。

  • デバイス プロファイルの一覧から [管理プロファイル] を選択し、 [承認] > [承認] を選択します。

  • Intune ポータル サイトに戻り、 [続行] を選択します。

  • 組織によって、デバイス設定を更新するように求められる場合があります。 設定の更新が終わったら、 [設定の確認] を選択します。

  • 弊社はFileVaultをONにする必要があるので、ONにしました。

  • セットアップが終わったら、 [完了] を選択します。

  • 無事登録が完了しました。

2. AzureADでデバイスグループを作成

パブリックプレビュー時点ではユーザグループの割り当ては対応していないため、デバイスグループを作成します。


  • Azureポータルサイトを開きます。
  • Azure Active Directoryのサービスを選択します。
  • グループを選択します
  • 新しいグループを選択します
  • 以下の通り設定します
    • グループの種類:セキュリティ
    • グループ名:任意の名前
    • グループの説明:任意の説明
    • メンバーシップの種類:割り当て済み
  • メンバーの[メンバーが選択されていません]をクリックします。
  • 画面右にメンバーの追加が表示されます。
  • Intuneに登録したmacデバイスを選択します。
  • 選択したアイテムを確認し、選択をクリックします。
  • [作成]をクリックします。

3. Intuneにシェルスクリプトを登録

  • AzureポータルサイトのIntuneのサービスを選択します。
  • [デバイス構成]>[スクリプト]をクリックします。
  • [追加]>[macOS]をクリックします。
  • 任意の名前、説明を入力し、[次へ]をクリックします。
  • フォルダのアイコンをクリックし、登録するスクリプトを選択します。
  • [サインインしているユーザーとしてスクリプトを実行する]は、いいえを選択します。
    • なお、[はい]と[いいえ]の違いは以下の通りです。
      • [はい]を選択:デバイスでユーザーの認証情報を使用してスクリプトを実行します。
      • [いいえ]を選択:rootユーザーの認証情報を使用してスクリプトを実行します。
  • そのほかの設定値は以下の通り設定します
    • デバイスでスクリプトの通知を非表示にする:構成されていません
      • [はい]にすると、通知が表示されません。
    • スクリプトの頻度:構成されていません
      • 15分毎、30分毎、1時間毎、2時間毎、3時間毎、6時間毎、12時間毎、1日に1回、1週間に1回、が選べます。
    • スクリプトが失敗した場合の再試行回数の最大値:3回
      • 1回、2回、3回が選べます。
  • [次へ]をクリックします。
  • 割り当て先は、選択したグループとします。
  • [含めるグループを選択]をクリックします。
  • 画面右に含めるグループを選択が表示されます。
  • 2.で作成したデバイスグループを検索し、選択をします。
  • 選択したアイテムを確認し、選択をクリックします。
  • [次へ]をクリックします。
  • 確認+追加で登録した設定値を確認し、問題なければ[追加]をクリックします。

4. macデバイスでシェルスクリプトが実行されたか確認

  • 配布対象のmacデバイスにログインします。
  • 画面右上に通知が来るため、許可を選択します。
  • ダウンロードフォルダにソフトウェアアップデートの確認ログが出力されました。

まとめ

ブログ執筆中に、デバイスでスクリプトの通知を非表示にする、スクリプトの頻度、スクリプトが失敗した場合の再試行回数の最大値の3つの機能が追加拡張されて驚きました。 まだまだJamfProほどのきめ細やかさはないですが、今後の機能拡張次第では、Intuneでmacデバイスを管理する選択も考えるきっかけになりそうです。

おまけ

前述の通り、弊社はmacデバイスをJamfで管理しており、かつJamfとIntuneを連携させているため、Intuneに登録しようとするとJamfのMDM登録画面に遷移してしまいました。

これを回避するためには、以下の除外設定が必要です。

情報システム部門は企業のコア

CTA-IMAGE 株式会社クラウドネイティブは、情報システム部門のコンサルティング専門家集団です。 ゼロトラストの概念を国内でいち早く取り入れ、現実的に実装できる国内唯一のコンサルティング会社です。 「どの製品選べばいいの?」 「社内インフラ改革はどこから?」 「セキュリティって結局どうすれば?」 その疑問や不安にお応えします。