Microsoft Autopilotキッティングを利用するためにやったこと

Microsoftサービスとセキュリティ関連を中心にお仕事を行っている中の人です。
今回同じ部署の人から「QiitaのAdventCalenderに記事投稿しない？」とお誘い受けたので、初投稿ながら頑張って執筆したので、暖かい目で見守ってください。

早速ですが、本記事ではWindows Autopilot導入までに検証した事や考慮しないといけない設定・構成について書いていきます。

先に結論だけお伝えすると、
**ADで利用しているGroup policyや各種スクリプトを「現行踏襲」としてそのまま利用or実装させることは絶対にやめましょう**

「新しい環境をつくる」くらいの意思を持って取り組む方がスムーズに構築できます。


## 目次
1. Windows Autopilotとは
1. Windows Autopilotのメリット
1. Windows Autopilotを利用するために変更した大きな事
1. GroupPolicyの設定を移行するときの注意点
1. MDMサポート外ポリシーを移行した方法
1. 他気を付けたところ
1. 最後に
1. お知らせ


## 1. Windows Autopilotとは
Windows Autopilotは、Microsoftが提供するクラウドベースのデバイス展開ソリューションです。これにより、企業は新しいWindowsデバイスを迅速にセットアップし、ユーザーが必要なアプリケーションや設定を自動的に適用できます。

Windows AutopilotでキッティングされたPCは、ユーザの手元に届き、電源を入れて、ネットワークに接続し、個人アカウントでログインするだけで、必要な設定やアプリケーションが自動的にインストールされます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935281/2d527ff8-ffad-4dca-b398-89ca1d02d3ea.png)

## 2. Windows Autopilotのメリット
いくつかメリットは存在しますが、今回構築する際に効果が大きいと感じたのは以下です

- **マスターイメージ管理が不要**
購入するPC単位でマスターイメージ作成して、定期的に更新・・・という大変な作業が不要になります。 

- **場所問わずユーザキッティングが可能**
基本的にネットワークにさえ接続できれば、ユーザがどこにいても初期設定が可能なので、わざわざ情報システムが在席しているフロアに来なくてもよくなります

 - **情報システム部での事前キッティング不要**
 1台単位でマスターイメージから復元してAD参加、マスター化できなかった設定を実装・・・みたいな作業が不要になります（これはへーしゃだけかもですが）


 あとはPC起動時と終了時のスクリプト（シャットダウンスクリプトなど）が実装できないので、起動、ログイン、シャットダウンが早くなります（実装しているスクリプトをどう切り替えるかは問題ですが・・・）
　※2023年8月時点ではなかった

## 3. Windows Autopilotを利用するために変更した大きな事
 ### ①デバイスの管理を「Microsoft Entra Hybrid　(旧 Hybrid AzureAD）（オンプレAD＋クラウド」から「Microsoft Entra Joined（クラウド管理）」へ変更

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935281/ad13b42c-2cdc-d120-40ce-1191e07ed9a3.png)

- アカウント管理はHybridを継続
- デバイス名を意味のある文字列で構成しており、PCキッティング前には決定している運用なので、自動設定ができず、Hybridを断念
Autopilotデバイスの out-of-box experience を構成する画面でも以下のメッセージが書かれているため、Microsoft Entra Joinedへ舵をきりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935281/182dd6dc-3f08-6811-273f-480befacff55.png)

## 4. GroupPolicyの設定を移行するときの注意点
まずはグループポリシーがIntuneへどれだけ移行できるのか簡単に調べておきましょう

1. Microsoft Intune管理センターへアクセス
1. デバイス⇒グループポリシー分析⇒インポート
1. GPOバックアップファイル（xmlファイル）をインポート

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935281/44128c27-3bdb-74d8-36df-bd2f8ce75517.png)

インポートしたポリシーがintuneでどれだけサポートしているか可視化してくれます（すでにサポートしていないポリシーも含んでいましたが、結構できない・・・）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935281/dc9a06e8-4fe4-d147-298f-b891791da4dd.png)

MDMサポート外とされているポリシーは主に以下でした
- サポート切れとなっているポリシー
- レジストリを設定するようなポリシー
- スクリプト関連
- アプリインストール

## 5. MDMサポート外ポリシーを移行した方法

### サポート切れとなっているポリシー
これは移行する必要がないので無視しましょう。

### レジストリを設定するようなポリシー
以下どちらかの方法で実装させました。
- スクリプトと修復機能
Powershellスクリプトを対象ユーザやグループに配信できるので、レジストリ適用させるps1ファイルを作成し追加してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935281/3ff0e46e-ebe7-b472-347f-789ac8c06e7a.png)

- アプリ配布
Intuneのアプリ配布機能を使って、「Win32アプリ」を配布する機能でレジストリの設定が可能でした。
ただ配布までに[Microsoft Win32 コンテンツ準備ツール](https://learn.microsoft.com/ja-jp/mem/intune/apps/apps-win32-prepare)を準備して.intunewinファイルを作成する必要があります。

    1. 設定したいバッチファイル作成
    コマンド内に「処理が正常に完了したら特定フォルダに「OK_xxxx.txtファイル」を作成するコマンドを追加してください（正常処理判断に使います）
    
    1. Win32コンテンツ準備ツール使ってintunewinファイルを作成（上記リンクを確認して作成してください）
    1. IntuneのWindowsアプリ配布（その他のWindowsアプリを使ってください）
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935281/81d2ddb8-6d99-0297-171e-48bc2c763a70.png)
    1. インストールコマンドに以下情報を記入
    `"%systemroot%\sysnative\cmd.exe" /c xxxx.bat`
    
        - インストールの処理を「システム」に設定
        - 他はデフォルトで大丈夫
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935281/f6b84f2c-fa00-5936-dcbb-138cef9fcc98.png)

    1. 検出規則を以下のように設定（パスは１のスクリプト内で設定したフォルダで）
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935281/e38add63-ab48-80a3-bacf-19bc49db8070.png)

あとは保存してintunewinファイルがアップロードされるのを待つだけです。
成功しているかは、各アプリの概要ページでステータス確認できます。

### スクリプト関連
これはレジストリ設定配布と同じ方法です。ただスクリプトと修復機能での配信はうまく実行されないケースが多かったので、ほぼアプリ配信に頼りました（実力不足もあります）

### アプリインストール
Intuneのアプリ管理機能を使って配信します。
Microsoft Storeアプリや基幹業務アプリ（msiファイル）は比較的簡単に配布できるので割愛します。
exeファイルしかインストーラーがないよ！というアプリについては、レジストリ配布時に利用した[Microsoft Win32 コンテンツ準備ツール](https://learn.microsoft.com/ja-jp/mem/intune/apps/apps-win32-prepare)を使い配布していきます。

へーしゃは約800のポリシーが存在していたので、全部移行検討からの実装で3か月くらいかかりました
## 6. 他気を付けたところ
- 既存設備（Wi-fi、VPN、プロキシ認証など）オンプレADのSID使っているかを調べましょう
    EntraID Joinedに変更した影響でSIDが使えなくなり、ユーザ認証への変更など、調査含めかなり時間とられました


## 7. 最後に
冒頭でもお伝えしましたが、既存ポリシー全て移行するのは本当に大変なので、「新しい環境を一から構築する」という気持ちで取り組むことをオススメします。

今回初投稿でしたが、記事を書く大変さを身に染みて感じました。（途中で何度心折れかけたか・・・）普段から投稿されている方、本当に尊敬します・・・

途中詳細技術を省略した部分もあるので、時間を見つけて書いてく・・・という意思表示で締めさせていただきます。

ありがとうございました。

## 8. お知らせ
こちらの記事はctc Advent Calendar 2024の記事となります
この後もctc(中部テレコミュニケーション株式会社)のメンバーが技術にまつわる知見を投稿していきますのでご期待ください

[ctc - Qiita Advent Calendar 2024 - Qiita](https://qiita.com)