![見出し画像](https://assets.st-note.com/production/uploads/images/137174343/rectangle_large_type_2_0270270dbba7ec7b19a4bd26cb627c9f.png?width=1200)
IntuneからWin32アプリを展開するときのlogを調べてみた
皆さんこんにちは。
Intuneを導入するメリットの一つとして、リモートでアプリインストールが可能な点があります。
確かに便利ではあるのですが、現実には様々な問題も含んでいます。
その一つが、インストールが失敗した場合に原因がわかりにくいことです。
今回はintunewin化したアプリをWin32形式でWindowsに展開する際の、インストールログを調べてみました。
調べるにあたり、国井さんの情報を大いに参考にさせていただきました。大感謝。
調べてみて分かったのですが、国井さん情報とログの出方は結構変わっていました。
この2年間の仕様変更なのか、環境依存なのかは良く分かっていません。
Win32アプリのインストールの流れを理解する
Win32アプリを展開するとき、Intune Management Extention(IME)というエージェントが自動インストールされます。
先にIMEによるインストールの流れを公開情報から見ておきます。
![](https://assets.st-note.com/img/1712670897058-nJsvFmcCd6.png?width=1200)
こんな感じの図が載っていまして、ざっくりまとめると
デバイスにポリシーが届く→依存関係と検出ルールのチェック→適用可否のチェック→アプリのダウンロード→解凍→インストール実行→再起動と検出ルールのチェック→結果の送信
という流れになっています。
IMEがポリシーを受信する間隔は1時間ごととなっています。
logファイルを見ていく
では実際にログを見ていきます。
今回はAdobeのAcrobat Proの配布を試していきます。
必要な準備につきましてはこちらをご覧ください。
インストールログはIMEのログの中に出力されます。
パスはC:\ProgramData\Microsoft\IntuneManagementExtension\
Logs\IntuneManagementExtension.logとなります。
一応公式にも載ってます。
ログを調べる際は例にならってcmtraceツールを使いました。
このツール、SCCM2012のサ終に伴って公式な配布は終了しており、現行のMECMに後継ツールが同梱されているようです。
ただツール使うためだけにMECMインストールするのはちょっとやりたくないですよね…SQLServerも用意しないといけないし。
ということで、私はネットの海から探し出しました。笑
ここからログの時系列に沿ってお話しします。
まずはIntuneで設定したアプリ名、またはアプリのObject IDで検索します。
Acrobat Proはインストール時に複数のファイルと共にsetup.exeを実行する形式でしたので、とりあえずここではsetup.exeをアプリ名にしています(わかりにくくてすみません)。
検索すると、Get Policiesから始まるログがあります。
ここでアプリ配布のポリシーを受信した、ということになります。
![](https://assets.st-note.com/img/1712671820643-aL6dQPtRp4.png?width=1200)
ここでId:a83….と出力されているものがObject IDとなっており、今後のステップではこれを元にログを探していきます。
なおObject IDはIntune Admin Centerの監査ログで、アプリを作成した時のログからも確認が可能です。
![](https://assets.st-note.com/img/1712672093136-7nyKWpR4UH.png)
続いてアプリの検出と、必要条件のチェックが行われます。
Acrobat Proの検出ルールにはこちらのレジストリキーを指定していました。
![](https://assets.st-note.com/img/1712672279467-1zV8emfCdo.png?width=1200)
ログ上でもこのレジストリを見に行っていることが確認できます。
![](https://assets.st-note.com/img/1712672760454-Seu91mfsRa.png?width=1200)
resultとしてFalse、つまりAcrobat Proが未インストールであることが返っています。
![](https://assets.st-note.com/img/1712672803992-iNZCCCF0c1.png)
事前確認の後、パッケージのダウンロードが開始されます。
Program Files(x86)内にあるIMEのディレクトリ内がダウンロードパスとして指定されています。
DOというのは配信の最適化のことみたいです。
![](https://assets.st-note.com/img/1712673299424-HpMayidfLt.png?width=1200)
以降ダウンロードの進捗がByte単位で出力されていきます。
![](https://assets.st-note.com/img/1712673068656-qzHq9zNOQH.png?width=1200)
ダウンロードが完了し、解凍が始まったログです。
![](https://assets.st-note.com/img/1712673210987-eGXXbXHHg7.png?width=1200)
インストールコマンドが実行された部分のログです。
Setup.exe~の行にインストールコマンドがそのまま出力されていますね。
![](https://assets.st-note.com/img/1713008511327-nHkMPuSb3U.png?width=1200)
余談ですがIntuneからアンインストールを実行する場合も、インストールと同じようなステップで行われます。
そのため、アンインストールコマンドが実行される前にインストーラーパッケージのダウンロードが行われます。
GB単位のパッケージであっても、意味もなくダウンロードが行われることになります。
無駄だなと思ってます。
無事インストールが成功すると、成功結果が返されます。
![](https://assets.st-note.com/img/1713009013543-AqZAumUKdu.png?width=1200)
この後再度検出ルールが実行され、検出に成功したらインストールプロセス完了となります。
こうして見ると、当たり前ではありますが公開情報の流れに沿って処理が行われていることがわかると思います。
インストールに失敗する例
ここで、インストールに失敗した場合のログも見てみましょう。
Adobe Acrobatにはややこしいことにインストーラーが複数あります。
普通にインストーラーを探すと、Reader_xx_install.exeというファイルが入手できると思います。
しかしこれをIntuneからインストールしようとすると、私の知る限り失敗します。
そこでそのログを見てみたいと思います。
インストールコマンド実行までは行われますが、
![](https://assets.st-note.com/img/1713009822010-xWWfNKhSO3.png?width=1200)
エラーコードが返され、処理が失敗していることがわかります。
![](https://assets.st-note.com/img/1713009863346-EIj7wmseEi.png?width=1200)
エラー理由はmappingされていない、つまり不明のエラーってことですね。
ログを見たからといって失敗の原因がわかるとは限りません。
まとめ
今回はIMEのログから、Win32のインストールプロセスを見てみました。
皆様のお役に立ちましたら幸いです。
本当はIntune Admin Centerからこれくらい詳細なログがすぐ確認できるような仕組みにして欲しいところです。
インストール実行時にクエリを投げれば取れそうな気がするんですけどね。
おまけ
ついでにMicrosoft Storeアプリをプッシュしたときのログも見てみました。
Intuneのポータルサイトアプリで試しています。
Win32に比べると少しログが釈然としませんでしたが、
ポリシーの受信
![](https://assets.st-note.com/img/1713010737190-RlGlFApjXR.png?width=1200)
アプリのダウンロード
![](https://assets.st-note.com/img/1713010831521-aYLpuZNfS7.png?width=1200)
インストールが完了し、Successの値が返る
![](https://assets.st-note.com/img/1713010916167-G4Ag9upTou.png?width=1200)
![](https://assets.st-note.com/img/1713010994972-v8o4I33JWh.png?width=1200)
といったログは確認できました。
ご参考まで。