Microsoft Intune をコマンドで利用する準備

Microsoft 365

Windows 10 のサポート終了が今年の10月14日となっています。まだ Windows 10 を利用している企業では4月からの新入社員や中途入社の作業が終わり次第取り掛かるなんて情シスの方も多いのではないかと思います。

Windows 10 の入替の文脈でゼロタッチデプロイとか AutoPilot という用語を聞くことも多いかと思います。ミスなくキッティングを行うとか、情シスの工数を減らすといった観点で Microsoft Intune を新規導入するとか本格的に設定するなんて企業の方も多いようです。

キッティング工数が大きい企業であったり、スタートアップで採用人数が多い会社などはある程度こなれてきたタイミングでしょうからは大きく首を縦に振っていただけると思いますが、Microsoft Intune を管理上で面倒なことがたくさんあります。

量が多い場合に GUI でやると日が暮れてしまうような作業があるので、これを何とかしたいという要望も多いかと思います。

そうは思うものの「コマンドはわからないよ!」ということで後ろ向きな考えでGUIで行っていた管理者の方もいるかと思います。

「生成AI(Copilotに断定しないw)」という強い仲間が出来たのでこれを気に少し楽をしませんか?

ということでだれが読むのかもわからないですが(仕事の関係者は読んでくれると信じて) Microsoft Intune を PowerShell で設定をするための手順を書いていきます。

PowerShellで接続する際につまづくポイント

※エンジニアの方が公式githubを見ればわかるのですが、ここにたどり着く方が少ないと思っています。powershell-intune-samples/Updating App Registration

「Intune を Powershell で管理する方法を教えてください」と生成AIに相談するともっともらしい回答が出てくるかと思います。実際に複数の生成AIに聞いてみましたが同じような回答が出てきました。

しかし、それを設定してもそもそも接続することすらできません。(私のこのブログによって今後は回答が変わる可能性もありますが……)

正しいやり方がインターネット上にまとめられていないから誤った情報で学習しているからだと思います。なのでブログに書いて生成AIに学習させるという意味も込めて記載をしていきます。

Microsoft Intune といえば「ひと目でわかるIntune 第3版」で勉強したという方も多いと思います。その中でも初版からずっと書いている「株式会社エストディアンの国井傑さん」のブログを読んでいる方も多いのではないでしょうか。国井先生のブログを検索してみると、なんと6年前の「2019/1/7」にこの観点で書かれています。Microsoft Intuneの設定をPowerShellから行う(2)

ただ、生成AIの回答と同じ回答でこれだとつながらないので困りました。(よくよく調べたら生成AIのインプットにも使われている。情報が古くなってしまい仕様が変わったのでしょうがないことだと思う)

実際のコマンドとしては下記の部分が問題となります

Install-Module Microsoft.Graph.Intune
Connect-MSGraph

(管理者で接続しないといけないとか、お作法的なところは無視します)
1行目はモジュールのインストールなのでそのままコマンドは通ります。
2行目を行うと認証画面がでてきて正しい権限を持つアカウントでサインインしてもエラーとなります。

AADSTS700016: Application with identifier 'd1ddf0e4-d672-4dae-b554-9d5bdfd93547' was not found in the directory 'XXXXXXXXX'. This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant. You may have sent your authentication request to the wrong tenant.

上記のようなエラーが出るのであきらめる方も多いかと思います。

問題は「d1ddf0e4-d672-4dae-b554-9d5bdfd93547」が出ることです。カンが働いて「コマンドで指定もしていないのに具体的なIDが出てくるのがおかしい!」と気付けば、情報はたくさん出てきます。(英語しか出てこないので今回ブログ書いたというのもある)

調べていくと原因として「2024年4月1日より、Graph SDKベースのPowerShellモジュールの認証方法の更新に伴い、Microsoft Intune PowerShell (d1ddf0e4-d672-4dae-b554-9d5bdfd93547) が削除される予定です。」という情報が出てきます。

結論としては仕様が変わったので接続するためのポイントがなくなってしまったという話なのですが、公式としてはそのままにしているという状況なのです(それもそれでどうかと思うw)

対応としては接続するポイントを作ってあげればいいのです。

具体的な対応方法

「Microsoft Entra 管理センター」でも「Azure Portal」でも作業は可能ですが、Microsoft 365 管理者の方は前者で行うと思うのでその画面で説明します。

①「ID」>「アプリケーション」>「アプリの登録」に移動し、「新規登録」を選択します。

②下記のように設定します。

 名前:自分でわかれば何でもよい。下記ではわかりやすく名前を付けてみた。「Microsoft Intune
 リダイレクトURI:「パブリック クライアント/ネイティブ」と「urn:ietf:wg:oauth:2.0:oob」を入力する

 意味合いとしては既定値であるMicrosoft Intune PowerShell (d1ddf0e4-d672-4dae-b554-9d5bdfd93547) ではなくここで作ったアプリを使うように設定している。

③登録をクリックする(アプリを登録する)

④(アプリができることを設定するため)「API アクセス許可」に移動して次のアクセス許可を追加し、「<テナント> に管理者の同意を付与します」。

登録ほやほやの状況

⑤(Microsoft Graphのリンクをクリックする)
Intuneで利用するAPIを登録していきます(利用用途によるので各社ごとに違う)
※下記では独断と偏見で私が使うものを記載しています。

DeviceManagementApps.ReadWrite.All
DeviceManagementConfiguration.ReadWrite.All
DeviceManagementManagedDevices.PrivilegedOperations.All
DeviceManagementManagedDevices.ReadWrite.All
DeviceManagementRBAC.ReadWrite.All
DeviceManagementServiceConfig.ReadWrite.All
Directory.Read.All
Group.ReadWrite.All

これらを選んで「アクセス許可の更新」をクリックする

⑥下記のように状態に警告(オレンジ三角)が表示されるので「<自分のテナント名>に管理者の同意を与えます」をクリックする

該当部分の拡大

⑦「はい」をクリックする

⑧概要欄をクリックして「アプリケーション (クライアント~」の値をコピーする

⑨PowerShellで作ったアプリケーションのIDを登録する

Update-MSGraphEnvironment -AppId <コピーした値>

例(これ使っちゃだめですよ?)

Update-MSGraphEnvironment -AppId 1234567a9-a12b-12a3-1a23-12ab3c34567d

実際のコマンド例

ここまできたら接続できます。国井先生の該当ブログや生成AIと対話しながらコマンドをいろいろやればいいと思います。下記に1例として結果を記載してみます(家族テナント兼検証テナントなので内容は企業の内容からかけ離れてますw)

Get-IntuneMobileApp | ft displayName

最後に

日本人は凝り性なのでサービスを使い倒したり魔改造する文化があります。Intune の運用としては一般的な知識があればわかるレベルで抑えたり、複雑な内容の場合はドキュメントを残すといった対応をすることをお薦めします。

グループ会社でシングルテナントにしているなどの複雑な要件がある場合はミスなく確実に行うためにコマンドが必要になることもあるので今回記載しました。

これを書くだけでも2時間ぐらい溶けたのでこれ系のネタはあまり書かないと思います。Xで「いいね」がたくさんついたり、欲しいものリスト送ってくれる人がいたら、調子に乗ってIntune のコマンドを書くかもしれませんw(Noteで有料記事とかにするなどは考えていない)

「Intuneの対応を伴走して支援して欲しい」といった稀有な方は個別に連絡ください(今もMicrosoft 365の支援を数社やっています)

タイトルとURLをコピーしました