Intuneアプリ展開のトラブルシューティング

皆さんこんにちは。国井です。
私の会社でCisco Webexを利用する機会が出てきたので、Intuneから各デバイスへ展開していたのですが、

image

こんな感じでエラーが出てしまいました。

image

ただ、Webex自体は問題なく利用できるんですよね.. なんでこんなことになるのだろ?
ということで、今日はIntuneから.intunewinファイルの展開を行ったときに起こるトラブルについてのトラブルシューティングをしてみたいと思います。

.intunewinファイルってなに?という方はこちらをどうぞ。

ログのありか

クライアント側で.intunewinファイルを展開する場合、Intune Management Extensionを使います。このサービスのログはC:\ProgramData\Microsoft\IntuneManagementExtension\
Logs\IntuneManagementExtension.logに保存されます。
ログファイルはメモ帳で開くと、めちゃ見ずらいのでMECMを利用している人にはおなじみのcmtraceツールを使うと見やすくなります。

トラブルシューティングをはじめよう

膨大なログの中から自分が展開しようとしているアプリを見つけるときはアプリの名前(今回の場合で言えばwebex)で検索するのがおすすめです。
すると、こんな感じで展開するアプリを検出しましたという旨のログが確認できます。

image

このとき一緒に確認しておきたいのがアプリに対して割り当てられるID番号です。このケースでは45f42… と書いてありますが、この番号は試験に出ますので(なんのこっちゃ?)必ず覚えておきましょう。
ID番号が確認できたら、その番号で検索します。するとStart to Present app で始まるログが出てきます。ここからがアプリインストールの始まります。
最初に行うことはDetection rules(2行目部分)で既にアプリがインストールされていないかを検出規則に基づいてチェックします。

image

まだインストールされていないことがわかるとインストールプロセスが始まります。
ちなみにインストールプロセスにおける、それぞれのステップは===Step===で始まる項目で表されます。

===Step=== Check applicability

このステップでWindows 10のバージョンなどの条件をクリアしているかをチェックしています。

image

このステップが終わると以下のステップが続きます(ご参考まで)。

===Step=== Check Extended requirement rules
===Step=== Check detection without existing AppResult

===Step=== Download

このステップでダウンロードが始まります。5秒ごとにログを吐き出してダウンロード状況をお知らせしてくれます。
ちなみに via DO と表示される場合は配信の最適化を利用していることを表しています。
またダウンロード下ファイルの保存場所もログの中で確認できます。

image

このステップが終わると以下のステップが続きます(ご参考まで)。

===Step=== ExecuteWithRetry
===Step=== Execute retry 0

===Step=== InstallBehavior..

InstallBehaviorステップでインストールが始まります。
以下の画面では切れてしまって表示されていないですが、インストールステータスのコードも0と表示され、正しくインストールができていることが確認できます。

image

===Step=== Detection rules after Execution

このステップではインストールが完了した後で、検出規則と照らし合わせてインストールが正しくできたことを確認します。ところがapplicationDetected:Falseと表示され、インストールに失敗したことを表すログが出ています。

image

インストールが成功したのに検出規則通りでないためにインストールが失敗とIntuneに報告されてしまいました。つまり検出規則の書き方に問題があるのではないかということにここで気が付きました。
実際に検出規則を見てみると

c:\program files\webex フォルダーが存在していたら

と書いてありますが、実際にインストールされるのは

c:\program files(x86)\webex フォルダー

だったのです。なるほど、これがインストール失敗の原因だったのか!
検出規則を再設定し、インストールを行ったところ今度はインストールに成功しました。

最後のステップ

参考までに、以下のステップがアプリインストールの最後のステップになっていて、

===Step=== Set ComplianceStateMessage with applicationDetectedAfterExecution
===Step=== Set EnforcementStateMessage

これらのステップの最後には「Exitcodeでは正しくインストールできたことが確認できたけど、検出結果では失敗になったよ」と書かれていることが確認できました。

image

こんな感じでIntuneから展開されるアプリはクライアントサイドに保存されるログでトラブルシューティングできることを見てみました。お役に立てれば幸いです。

お知らせ

しばらくお休みしていた「EMS で実現するクラウド IT インフラ管理」トレーニングコースですがWindows 11対応となって復活することになりました。
初回開催は2022年9月20-21日です。