記事公開日
最終更新日
Windows Autopilot を使ってみた 3 ーアプリ配信編ー

皆さんこんにちは、システムソリューション営業本部 高山です。
Windows Autopilotの機能検証について、引き続き書いていきます!
前回は、Autopilot用のプロファイル作成方法や、手動操作画面やアカウントの種類等を設定するOOBE設定についてお話していきました。
今回は、Autopilot用のプロファイルに割り当てたデバイスグループの作成方法や、そのグループにアプリを割り当てて、実際に配信できるか確認します。
PCの電源を入れてコマンドプロントでシリアル番号を「wmic bios get serialnumber」で確認。
Microsoft Intune admin center(以降、Intuneと表記)のAutopilotから「デバイス」を開き、シリアル番号を入力、クリックしてプロパティを開きます。
「関連付けられている Intune デバイス」が「N/A」となっていることを確認して、
「関連付けられている Azure AD デバイス」のデバイス名をコピー。
Azure ADを開いて、確認したデバイス名を検索してユーザーが紐づいてないことも確認できました。


今回、アプリ配信のテスト用のユーザーグループがなかったため、新しくグループを作成しました。
デバイスグループの作成方法も以前お話していなかったので、改めて書いて行きます。
「グループ」の「新しいグループ」をクリックして、「グループの種類」「グループ名」「説明」を設定。

「メンバー」をクリックして、右側に表示される検索欄で対象のユーザーまたはデバイスを検索、表示されたユーザー・またはデバイスを選択して保存。

・主なWindowsアプリ
上3種類のアプリ(Windowsアプリ(win32)以外)に関しては、Intune上での設定項目がある程度絞られおり、選んだファイル形式に則って自動入力される設定項目もあるため、なんとなく(感覚的に)で設定できます。
その一方でWindowsアプリ(WIn32)(以降、Win32アプリと表記)については、ファイル形式の変換が必要だったり、コマンド入力をしたりと、他3種類とは違い事前準備や設定が必要になります。
注意点
基幹業務アプリ(LOB) と Win32 アプリを混在させないでください。 LOB (MSI) と Win32 のインストーラーの両方で、TrustedInstaller が使用されています。これは、同時インストールを実行できません。 OMA DM エージェントが MSI のインストールを開始すると、Intune 管理拡張機能プラグインは同じ TrustedInstaller を使用して Win32 アプリのインストールを開始します。 この状況では、Win32 アプリのインストールが失敗し、「別のインストールが進行です。後でもう一度お試しださい」というエラー メッセージが返されます。 この場合、登録ステータスページ(ESP) は失敗します。 そのため、どのような種類の Autopilot 登録でも、LOB と Win32 アプリを混在させないでください。
インストーラーのファイル形式が「.exe」のままだとIntuneからの配信ができないため、「Intunewin」というファイル形式に変換を行う必要があります。
まずは、変換に必要な「Microsoft WIn32 コンテンツ準備ツール」をダウンロードをダウンロードし、任意の場所で解凍をします。
https://github.com/Microsoft/Microsoft-Win32-Content-Prep-Tool

「IntuneWinAppUtil.exe」をクリックして黒いコマンド入力画面が開くことを確認し、変換するインストーラーのファイル情報を入力していきます。

私はインストーラーと同じフォルダを指定したので、同じフォルダにintunewinファイルが生成されたことを確認しました。

Intuneを開いて「アプリ」→「すべてのアプリ」→「追加」→「Windowsアプリ(Win32)」の順で設定し、最後に「選択」をクリックします。

「アプリパッケージファイルの選択」をクリックし、「アプリのパッケージファイル」でintunewin形式にファイル変換したインストーラーを選んで、 「OK」、「次へ」をクリックします。

必須項目である「名前」に設定したい名前、自動入力された説明欄の変更があれば「説明」を記入、アプリの「発行元」会社名を入力し、「次へ」をクリックします。
今回は、デバイスグループとユーザーグループとの紐づけだと分かりやすい様にするため、「名前」は「Autopilot Device test Firefox」、「Autopilot User test Sakura」としました。
そのほかの項目については、任意の設定だったためバージョンのみ入れてみました。


そのため、Firefoxのアプリ配信設定の際はコマンド設定はせず、「インストール処理」が「システム」になっていることを確認し、「デバイスの再起動」を「何もしない」に設定。
サクラエディタは「.exe」ファイルからの変換だったため、ネットで検索したサイレントインストールコマンド、アンインストールコマンドを入力し、「デバイスの再起動」をFirefox同様「何もしない」に設定し、「次へ」をクリック。
エラーとなる理由は、管理者権限が必要等の一部の手動操作が必要となるためです。
そのため、サクラエディタのコマンドを、強制的にインストールを行う「/SILENT」または「/VERYSILENT」と再起動させない「NORESTART」のコマンドオプションを、アンインストールコマンドには、「/SILENT」のコマンドオプションをつけて設定しました。


「最低限のオペレーティング システム」には、配信対象のデバイスのOSビルド21H2以下のバージョンを指定。
ディスク領域等は任意の設定のため、未入力としました。



「規則の形式」から「検出規則を手動で構成する」を選択して「追加」をクリック。
「規則の種類」からファイル選択をし、「パス」でアプリインストールした後に実行ファイルが作成されるフォルダのURL(大体はProgram FilesやPrgram Files)、「ファイルまたはフォルダー」にて、アプリインストール後の実行ファイル名を設定します。


キッティングの中で自動でインストールしたいので割り当てを「必須」とします。
Firefoxはデバイスグループに、サクラエディタはユーザーグループに割り当てました。


割り当て方法は、グルプ「必須」の「グループを追加」をクリックして、対象グループ検索。
検索結果から選んで、「選択」をクリック。問題なければ「次へ」

グループ毎に配信されるかの確認をしたかったため、1回目にデバイスグループのみ割り当て、2回目はユーザーグループのみ割り当てました。
これでアプリの配信設定は完了です!


通常通りAutopilotでセルフキッティングを行い、ESPの各セットアップ段階でアプリがインストールできているか確認をします。
折角なので、インストール確認をデバイスグループはイベントビューアーで、ユーザーグループは検出規則で指定したフォルダで確認を行いました。

コマンドプロントを「shift+F10」で起動したら、「eventvwr」コマンドでイベントビューアーを起動。
Windowsログ→Applocationの中から、「Mozilla Firefox」を探しました。
全般の内容に「インストールが正しく完了しました」と表記されていることを確認。

イベントビューアーを閉じ、セルフキッティングを進めます。
デスクトップ画面から、スタートボタンを押して「Firefox」と検索。

「FIrefox」アプリをクリックして、起動できることが確認ができたらVMでの配信確認は完了!

Intuneを開いて、アプリのインストール状況を確認。
Intune上でもインストールできていることを確認できたら、Firefoxの配信確認は完了です!


コマンドプロントを「shift+F10」で起動したら、「explorer」コマンドでエクスプローラーを起動。
検出規則で指定した「Program Files (X86)」フォルダにサクラエディタのフォルダが作成、フォルダ内にサクラエディタがインストールされていることを確認します。

エクスプローラー・コマンドプロントを閉じ、セルフキッティングを進めます。
デスクトップ画面から、スタートボタンを押して「sakura」と検索。

「sakura」アプリをクリックして、起動できることが確認ができたらVMでの配信確認は完了!

Intuneを開いて、アプリのインストール状況を確認。
Intune上でもインストールできていることを確認できたら、サクラエディタの配信確認は完了です!

実際の検証では、Firefoxは設定を何度見直してもセルフキッティングの段階でエラーになってしまい、何が原因かわからず何回もログや配信設定の確認を行いました。。。。
原因はMSI形式のアプリを配信する場合、検出規則に自動で設定されるMSI製品コードがPCのレジストリ「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall」のアプリケーション製品コードGUIDと異なることが分かりました。
※ 自動で入るからといって安心はできません。。。
そのため、アプリ配信においては下記2つの設定が重要な設定箇所かと思われます。
デバイスグループに紐づけてもユーザーグループに紐づけてもアプリ配信されることがわかったので、次は事前プロビジョニングの確認の際にも、デバイスグループの配信タイミング、ユーザーグループの配信タイミングの確認を行います。
最後までお読みいただき、ありがとうございました。
※このブログで参照されている、Microsoft、Windows、Microsoft Azure、その他のマイクロソフト製品およびサービスは、
米国およびその他の国におけるマイクロソフトの商標または登録商標です。
本AutoPilotに関するブログはシリーズ化しております。
Windows Autopilot を使ってみた 1 ーセルフキッティング編ー
Windows Autopilot を使ってみた 2 ーAutopilot用のプロファイル作成・設定確認編ー
Windows Autopilot を使ってみた 4 ーWindows10 PC 事前プロビジョニング編ー
Windows Autopilot を使ってみた 5 ーWindows11 PC 事前プロビジョニング編ー
Windows Autopilot を使ってみた 6 ーフィルターを使ったAutopilotプロファイルの確認ー
Windows Autopilot を使ってみた 7 ー既存PCのAutopilot登録・キッティング編ー
Windows Autopilotの機能検証について、引き続き書いていきます!
前回は、Autopilot用のプロファイル作成方法や、手動操作画面やアカウントの種類等を設定するOOBE設定についてお話していきました。
今回は、Autopilot用のプロファイルに割り当てたデバイスグループの作成方法や、そのグループにアプリを割り当てて、実際に配信できるか確認します。
事前準備
アプリ作成・配信の確認をする前に、以下3つの確認を行います。- 配信対象のデバイスがAutopilotのデバイスとして登録されているか
- アプリに割り当てるユーザーグループ・デバイスグループがあるか
- 配信可能なアプリか
◆対象デバイスが登録されているかどうか
前回、前々回と同じPCで実施するため、デバイス登録はされているかと思いますが、念のために対象デバイスが登録されているか確認します。PCの電源を入れてコマンドプロントでシリアル番号を「wmic bios get serialnumber」で確認。
Microsoft Intune admin center(以降、Intuneと表記)のAutopilotから「デバイス」を開き、シリアル番号を入力、クリックしてプロパティを開きます。
「関連付けられている Intune デバイス」が「N/A」となっていることを確認して、
「関連付けられている Azure AD デバイス」のデバイス名をコピー。
Azure ADを開いて、確認したデバイス名を検索してユーザーが紐づいてないことも確認できました。
▼AutoPilotデバイス登録状況確認

▼Azure ADデバイス登録状況確認 赤枠がAutopilotデバイスのマークです。

◆アプリに割り当てるユーザーグループ・デバイスグループがあるか
続いて、Autopilot用のプロファイルと、アプリを割り当てるデバイスグループ・ユーザーグループの作成を行っていきます。今回、アプリ配信のテスト用のユーザーグループがなかったため、新しくグループを作成しました。
デバイスグループの作成方法も以前お話していなかったので、改めて書いて行きます。
「グループ」の「新しいグループ」をクリックして、「グループの種類」「グループ名」「説明」を設定。

「メンバー」をクリックして、右側に表示される検索欄で対象のユーザーまたはデバイスを検索、表示されたユーザー・またはデバイスを選択して保存。

◆配信可能なアプリか
デバイスについて確認が終わったら、Firefoxとサクラエディタが配信可能なアプリの種類にあてはまるのか、公式サイトから確認を行いました。・主なWindowsアプリ
ストアアプリ | Microsoft Store、Google Play、iOS/ipadストア (MacOS用のAppleストアアプリは配信不可) |
Microsoft 365アプリ | Excel、Word、PowerPoint等のOffice365アプリ |
基幹業務アプリ(LOB) | インストーラーのファイル形式が「.msi」「.appx」 「.appxbundle」「.msix」「.msixbundle」のアプリ |
Windows アプリ(Win32) | インストーラーのファイル形式が「.exe」 等のその他のアプリ |
上3種類のアプリ(Windowsアプリ(win32)以外)に関しては、Intune上での設定項目がある程度絞られおり、選んだファイル形式に則って自動入力される設定項目もあるため、なんとなく(感覚的に)で設定できます。
その一方でWindowsアプリ(WIn32)(以降、Win32アプリと表記)については、ファイル形式の変換が必要だったり、コマンド入力をしたりと、他3種類とは違い事前準備や設定が必要になります。
注意点
基幹業務アプリ(LOB) と Win32 アプリを混在させないでください。 LOB (MSI) と Win32 のインストーラーの両方で、TrustedInstaller が使用されています。これは、同時インストールを実行できません。 OMA DM エージェントが MSI のインストールを開始すると、Intune 管理拡張機能プラグインは同じ TrustedInstaller を使用して Win32 アプリのインストールを開始します。 この状況では、Win32 アプリのインストールが失敗し、「別のインストールが進行です。後でもう一度お試しださい」というエラー メッセージが返されます。 この場合、登録ステータスページ(ESP) は失敗します。 そのため、どのような種類の Autopilot 登録でも、LOB と Win32 アプリを混在させないでください。
ファイル形式の変換
サクラとFirefoxのインストーラーをローカルにダウンロードしたら、ファイル形式の変換を行います。インストーラーのファイル形式が「.exe」のままだとIntuneからの配信ができないため、「Intunewin」というファイル形式に変換を行う必要があります。
まずは、変換に必要な「Microsoft WIn32 コンテンツ準備ツール」をダウンロードをダウンロードし、任意の場所で解凍をします。
https://github.com/Microsoft/Microsoft-Win32-Content-Prep-Tool

「IntuneWinAppUtil.exe」をクリックして黒いコマンド入力画面が開くことを確認し、変換するインストーラーのファイル情報を入力していきます。
Please specify the source folder | 変換対象のフォルダを指定 |
Please specify the setup file | 変換対象のフォルダ内のインストーラーファイルを指定 |
Please specify the source folder | 返還後のファイル格納先フォルダを指定 |
Do you want to specify catalog folder (Y/N)? | カタログフォルダが無い場合は、基本的に"N"を入力 |

私はインストーラーと同じフォルダを指定したので、同じフォルダにintunewinファイルが生成されたことを確認しました。

Intuneのアプリ配信設定
◆アプリ作成
ファイル形式の変換までできたら、Intune上にアップロードして配信の設定をしていきます。Intuneを開いて「アプリ」→「すべてのアプリ」→「追加」→「Windowsアプリ(Win32)」の順で設定し、最後に「選択」をクリックします。

「アプリパッケージファイルの選択」をクリックし、「アプリのパッケージファイル」でintunewin形式にファイル変換したインストーラーを選んで、 「OK」、「次へ」をクリックします。

必須項目である「名前」に設定したい名前、自動入力された説明欄の変更があれば「説明」を記入、アプリの「発行元」会社名を入力し、「次へ」をクリックします。
今回は、デバイスグループとユーザーグループとの紐づけだと分かりやすい様にするため、「名前」は「Autopilot Device test Firefox」、「Autopilot User test Sakura」としました。
そのほかの項目については、任意の設定だったためバージョンのみ入れてみました。
▼Firefoxの情報入力画面

▼サクラエディタの情報入力画面

◆コマンド設定
「インストールコマンド」にはアプリをサイレントインストールをするためのコマンドを、「アンインストールコマンド」にはアプリをサイレントアンインストールをするためのコマンドを入力…なのですが、Firefoxの場合、「.msi」ファイルをintunewinファイルにした影響で、msiのインストールコマンド、アンインストールコマンドが自動入力されました。そのため、Firefoxのアプリ配信設定の際はコマンド設定はせず、「インストール処理」が「システム」になっていることを確認し、「デバイスの再起動」を「何もしない」に設定。
サクラエディタは「.exe」ファイルからの変換だったため、ネットで検索したサイレントインストールコマンド、アンインストールコマンドを入力し、「デバイスの再起動」をFirefox同様「何もしない」に設定し、「次へ」をクリック。
インストールコマンドについて
基本的にインストールコマンド・アンインストールコマンドを自動的に実行されるコマンドを指定していなかった場合、配信エラーとなることがほとんどです。エラーとなる理由は、管理者権限が必要等の一部の手動操作が必要となるためです。
そのため、サクラエディタのコマンドを、強制的にインストールを行う「/SILENT」または「/VERYSILENT」と再起動させない「NORESTART」のコマンドオプションを、アンインストールコマンドには、「/SILENT」のコマンドオプションをつけて設定しました。
▼Firefoxのコマンド設定画面

▼サクラエディタのコマンド設定画面

◆必要条件の設定
ここでは、「オペレーティングシステムのアーキテクチャ」にて配信対象のデバイスのOSビット数(64bit)を指定。「最低限のオペレーティング システム」には、配信対象のデバイスのOSビルド21H2以下のバージョンを指定。
ディスク領域等は任意の設定のため、未入力としました。
▼Firefoxの必要条件設定画面

▼sakuraの必要条件設定画面

OSのビット数の見方について
対象のデバイスでコマンドプロントを起動、以下のコマンドで確認することができます。wmic os get osarchitecture | OSのbit数を確認 |
wmic os get caption | OSのエディションを確認 |
ver | OSのバージョンを確認 |
winver | OSのビルドを確認 (「Windowsのバージョン情報」のポップアップが出る) |

◆検出規則の設定
この項目は、対象デバイスにアプリがインストール済みかどうかを検出するための規則設定です。「規則の形式」から「検出規則を手動で構成する」を選択して「追加」をクリック。
「規則の種類」からファイル選択をし、「パス」でアプリインストールした後に実行ファイルが作成されるフォルダのURL(大体はProgram FilesやPrgram Files)、「ファイルまたはフォルダー」にて、アプリインストール後の実行ファイル名を設定します。
▼Firefoxの検出規則の設定画面

▼sakuraの検出規則の設定画面

◆依存関係と置き換えの設定
「依存関係」には配信したいアプリを利用するために必要なアプリとの紐づけを、「置き換え」にはすでに利用してるアプリの置き換えが必要な場合の設定を行いますが、Firefoxとサクラエディタはどちらの設定も必要ないので、何も設定せずに「次へ」を選択します。◆グループの割り当て
配信したいグループをここでは選択。キッティングの中で自動でインストールしたいので割り当てを「必須」とします。
Firefoxはデバイスグループに、サクラエディタはユーザーグループに割り当てました。
▼デバイスグループ割り当て(Firefox)

▼ユーザーグループ割り当て(サクラエディタ)

割り当て方法は、グルプ「必須」の「グループを追加」をクリックして、対象グループ検索。
検索結果から選んで、「選択」をクリック。問題なければ「次へ」

◆Autopilot デプロイメントプロファイルへのグループ割り当て
アプリ作成が終わったら、デバイスグループまたはユーザーグループをAutopilotのプロファイルに割り当てます。グループ毎に配信されるかの確認をしたかったため、1回目にデバイスグループのみ割り当て、2回目はユーザーグループのみ割り当てました。
これでアプリの配信設定は完了です!
▼デバイスグループに割り当て(Firefox)

▼ユーザーグループに割り当て(サクラエディタ)

アプリの配信動作確認
前々回、前回と同じくWIn10のVMを使用します。通常通りAutopilotでセルフキッティングを行い、ESPの各セットアップ段階でアプリがインストールできているか確認をします。
折角なので、インストール確認をデバイスグループはイベントビューアーで、ユーザーグループは検出規則で指定したフォルダで確認を行いました。
デバイスグループ(Firefox)を割り当てた時のESP画面
デバイスグループに割り当てているため、「デバイスのセットアップ」で「アプリ」がインストール済みになったことを確認。
コマンドプロントを「shift+F10」で起動したら、「eventvwr」コマンドでイベントビューアーを起動。
Windowsログ→Applocationの中から、「Mozilla Firefox」を探しました。
全般の内容に「インストールが正しく完了しました」と表記されていることを確認。

イベントビューアーを閉じ、セルフキッティングを進めます。
デスクトップ画面から、スタートボタンを押して「Firefox」と検索。

「FIrefox」アプリをクリックして、起動できることが確認ができたらVMでの配信確認は完了!

Intuneを開いて、アプリのインストール状況を確認。
Intune上でもインストールできていることを確認できたら、Firefoxの配信確認は完了です!

ユーザーグループ(サクラエディタ)を割り当てた時のESP画面
ユーザーグループに割り当てているため、ユーザー情報認証後の、「アカウントのセットアップ」で「アプリ」がインストール済みになった事を確認。
コマンドプロントを「shift+F10」で起動したら、「explorer」コマンドでエクスプローラーを起動。
検出規則で指定した「Program Files (X86)」フォルダにサクラエディタのフォルダが作成、フォルダ内にサクラエディタがインストールされていることを確認します。

エクスプローラー・コマンドプロントを閉じ、セルフキッティングを進めます。
デスクトップ画面から、スタートボタンを押して「sakura」と検索。

「sakura」アプリをクリックして、起動できることが確認ができたらVMでの配信確認は完了!

Intuneを開いて、アプリのインストール状況を確認。
Intune上でもインストールできていることを確認できたら、サクラエディタの配信確認は完了です!

まとめ
今回は、Intune でアプリ配信を設定し、実際に配信されるのか確認を行いました。実際の検証では、Firefoxは設定を何度見直してもセルフキッティングの段階でエラーになってしまい、何が原因かわからず何回もログや配信設定の確認を行いました。。。。
原因はMSI形式のアプリを配信する場合、検出規則に自動で設定されるMSI製品コードがPCのレジストリ「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall」のアプリケーション製品コードGUIDと異なることが分かりました。
※ 自動で入るからといって安心はできません。。。
そのため、アプリ配信においては下記2つの設定が重要な設定箇所かと思われます。
- インストール/アンインストールコマンドの設定
- 検出規則の設定
デバイスグループに紐づけてもユーザーグループに紐づけてもアプリ配信されることがわかったので、次は事前プロビジョニングの確認の際にも、デバイスグループの配信タイミング、ユーザーグループの配信タイミングの確認を行います。
最後までお読みいただき、ありがとうございました。
※このブログで参照されている、Microsoft、Windows、Microsoft Azure、その他のマイクロソフト製品およびサービスは、
米国およびその他の国におけるマイクロソフトの商標または登録商標です。
本AutoPilotに関するブログはシリーズ化しております。
Windows Autopilot を使ってみた 1 ーセルフキッティング編ー
Windows Autopilot を使ってみた 2 ーAutopilot用のプロファイル作成・設定確認編ー
Windows Autopilot を使ってみた 4 ーWindows10 PC 事前プロビジョニング編ー
Windows Autopilot を使ってみた 5 ーWindows11 PC 事前プロビジョニング編ー
Windows Autopilot を使ってみた 6 ーフィルターを使ったAutopilotプロファイルの確認ー
Windows Autopilot を使ってみた 7 ー既存PCのAutopilot登録・キッティング編ー