SEくぼたの事件簿

インフラSEとしての活動を記録していきます

IntuneでWindows10端末にインストールされたアプリケーションを収集し閲覧する(Win32アプリの収集)

こんにちは

先日Intuneを利用してWindows10端末にインストールされたWin32アプリの情報を取得できることを知りました!

ということで今回は

Intuneを利用してWindows10端末にインストールされたアプリケーション情報を取得

という部分にチャレンジしてみたいと思います。

 

  • 前提

まずIntuneを利用してWindow10端末の情報を取得するには以下の状態のどれかになっていることが必要です。

  1. AzureADJoined+Intune登録
  2. HybridAzureADJoined+Intune登録
  3. AzureAD Registered+Intune登録

1,2,3のどれになっているかで取得できる粒度に差が出ます。

また、どれを選択したかによって下記のIntune管理拡張の前提に差がでます!

※3だとほぼ無理!みたいなパターンがあるのでご注意を

 

また、今回IntuneよりPowershellの実行を実施するため以下も追加で必要です。

・Windows10のエディションがHome以外

・AzureADJoined

※この時点で上記の2,3がだめなんですね・・・笑

 2は方法次第でやれそうな気もする・・・・

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2021/4/15追記

上記の3でも稼働しました!

やはり下記URLの前提をちゃんと確認する必要がありそう

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

さらにWin32アプリ(デスクトップにてmsiにてインストールされたアプリケーション)の管理には追加で以下が必要です。

①会社所有のデバイスである

②Intune管理拡張が対象デバイスに導入されている

 

細かい前提や取得対象はこっちを見てください

検出されたアプリ - Microsoft Intune | Microsoft Docs

 

今回は

  1. AzureADJoined+Intune登録

にて検証を実施しており、Windows10のエディションはProを利用しています。

※サポート範囲外のWindows10はもちろんだめです笑

 

また、上記の①、②について

①は以下の画面の所有者が会社になっているかどうかということです。

f:id:KKubo19:20210412175133p:plain

②はIntune管理拡張が導入されている必要があります。

これに非常に悩んだのですが、上記のDocsによると

以下のポイントで自動的に導入されるらしい・・・・・

1.Intune管理拡張機能の前提条件が満たされる

2.Powershellスクリプト or Win32アプリがユーザーやデバイスに割り当てられる

なお1の前提条件っていうのが下記です。※これが結構細かいので確認必須です!

Microsoft Intune で Windows 10 デバイスに PowerShell スクリプトを追加する - Azure | Microsoft Docs

 

ということなので、今回はPowershellスクリプトをIntuneから実行してIntune管理拡張とやらが入っているか確認してみます。

ちなみに、アプリケーションの収集はサイクルがあって下記くらいの時間がかかる模様!気長にやらないといけない!!!笑

f:id:KKubo19:20210412175830p:plain

 

  • 設定方法

今回はAzureADJoined+Intune登録された端末を利用します。

※方法不明だ!!って方いたらコメントください。ご相談のれるかもしれません

 

まずはMicrosoft365管理センターよりMicorosoft Endpoint Manager管理センターにアクセス

f:id:KKubo19:20210412180536p:plain

バイスをクリック

f:id:KKubo19:20210412180610p:plain

スクリプトをクリック

f:id:KKubo19:20210412180935p:plain

追加をクリック

f:id:KKubo19:20210412180957p:plain

Windows10をクリック

f:id:KKubo19:20210412181014p:plain

配布するスクリプトタスクのタイトルを入力し次へ

※今回はPowershell Test Deployとしています。

f:id:KKubo19:20210412181112p:plain

スクリプトの場所で作成したスクリプトを選択

f:id:KKubo19:20210412181155p:plain

f:id:KKubo19:20210412181208p:plain

今回はTestDeploy.ps1ってファイルを対象にしています。

ちなみに中身はこんな感じ

Cドライブ直下にtemp2ってフォルダを作成するだけ!笑

f:id:KKubo19:20210412181330p:plain

その他はいいえの状態で次へをクリック

※作成するスクリプトによっては上記の「はい\いいえ」を適切に変えないと問題おきるのでご注意を!

 

グループを追加をクリック

f:id:KKubo19:20210412181616p:plain

スクリプトが実行されるべきユーザーがメンバーのグループを選択

f:id:KKubo19:20210412181702p:plain

※ここで指定するメンバーは以下のデバイス情報の下記ユーザーが含まれているグループです。

f:id:KKubo19:20210412182112p:plain

グループの追加を確認したら次へをクリック

f:id:KKubo19:20210412182150p:plain

情報を確認して追加をクリック

f:id:KKubo19:20210412182212p:plain

これで設定完了

f:id:KKubo19:20210412182327p:plain

スクリプトが実行されたか確認するには作成されたスクリプトタスクをダブルクリック

f:id:KKubo19:20210412182327p:plain

各デバイスでの実行状態が表示されます。

f:id:KKubo19:20210412182502p:plain

  • クライアント側での確認方法

クライアントOS側でIntune管理拡張が展開されているか確認してみます。

スタートから設定をクリック

f:id:KKubo19:20210412183346p:plain

アカウントをクリック

f:id:KKubo19:20210412183424p:plain

職場または学校にアクセスするをクリックし、接続したアカウントをクリック

f:id:KKubo19:20210412183553p:plain

情報をクリック

f:id:KKubo19:20210412183700p:plain

ここでアプリケーションの導入が確認できます!

手動で同期とかしたい場合もこの中の同期ボタンをクリックします。

f:id:KKubo19:20210412183838p:plain

なお、ディレクトリとしては以下のパスにログファイルが展開されています。

C:\ProgramData\Microsoft\IntuneManagementExtension\Logs

f:id:KKubo19:20210412183956p:plain

 

  • 確認方法

管理ポータルのデバイスから対象のデバイスを選択し「検出されたアプリ」の中に収集されます。Win32アプリは24時間ごとに収集の模様!

※Intune管理拡張が入っていないとモダンアプリ(UWPアプリ)しか表示されないのでご注意を

f:id:KKubo19:20210412184352p:plain

 24時間後に再度確認すると赤枠が増えていた!

Visual C++やPS Remote Play、Windows Deployment Toolsがインストールされていることが確認できます!

f:id:KKubo19:20210413173454p:plain

WireSharkとかも入れてるんだけど出てこない・・・・一体どういう範囲分けなのだろう???

ここは確認できたら情報アップデートします。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2021/4/13追記

確認できた!

msi形式でのインストールは収集の対象だがexeでインストールしたアプリケーションはサポート外とのこと

全部MSIってパターンじゃないと完全には収集できないようだ

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

  • おまけ

Intune管理拡張をダウンロードできないケースにはこんな内容があるらしい!

・デバイスがAuzreADに参加していない(そのほか前提を満たしていない)

・ユーザーまたはデバイスが属するグループにPowershellスクリプトやWin32アプリが割り当てられていない

・デバイスがIntuneサービスにチェックインできない。例えばインターネットアクセスしたりWindowsプッシュ通知サービスにアクセスできない

※プロキシ通さないといけない環境とかは要注意!

 おそらくWinInetではなくWinHttpでアクセスしているはずなので、確認が必要!

 ここを確認したい場合はスクリプト作成されている方がいるのでぜひ参照を

 Test-DeviceRegConnectivity.ps1っていうスクリプトでデバイスからの一部URLへのアクセス可否を参照してくれます!

 GitHub - Azure-Samples/TestDeviceRegConnectivity

 

・デバイスがSモードである(Intune管理拡張はSモード非サポートなんだそうだ!)

 

また、割り当てたPowershellスクリプト以下のタイミングで稼働するらしい!

スクリプトがデバイスに割り当てられるとき

スクリプトを変更し、アップロードし、ユーザーまたはデバイスにそのスクリプトを割り当てるとき

 

どうやって確認してるのかな~と思って調べたところどうやらIntune管理拡張は対象のWindowsバイスのサービスとして稼働しているようだ!

↓これね!

f:id:KKubo19:20210413125559p:plain

このサービスで1時間に1回Intuneでスクリプトやポリシーに変化があったかチェックしているらしい!

※これが手動とかになっていてサービスあがっていないと正しくうごかないことがあるかも!

ちなみにログはC:\ProgramData\Microsoft\IntuneManagementExtension\Logs\IntuneManagementExtension.logに出力されています。

下記赤枠を見るとPowershellを実行しているのがわかります。

スクリプト実行自体はagentexecutor.exeが引数に対象のスクリプトを指定して実行しているみたいですね!

f:id:KKubo19:20210413130924p:plain

ログ見るときは前回記載した通り、CMTraceを利用しています。

下記です。

kbtblog.hatenablog.com

 

  • まとめ

Windows10デバイスにインストールされたWin32アプリの情報がとれるには取れました。

ただ表示されなかったアプリケーションもいたのでこの辺がよくわからん!

ってことでこのあたりもう少し追いかけて情報アップデートしようと思います。

*1

 

 

  • 最後に!

Twitterでも情報発信したいと思いますので、興味があったらフォローしてください!

 

*1:2021/4/13に上記に追記、情報アップデート