はじめに
Intuneの動作を自動化する為に、Graph APIというものを調べていました。
その際に、Graph X rayツールなる便利なツールを発見しましたので、使い方を簡単にまとめました。
Graph API
Intuenのみならず、M365関連のサービスをプログラムから呼び出す方法を少し調べていくと、すべてはGraph API というものを通じて呼び出しが可能であることに気が付きます。
いわゆるREST形式のAPIですね、M365サービスの操作はGraph WebサービスへGETやPOSTして、実現することができるようです。
Graph Explorer
試しに呼び出すためのツールがGraph Explorerです。所定のリソースなどへGETやPOSTを実際に行って、その結果を取得したり、サービス側に反映したりすることができます。
とはいえ、一体世の中の詳しい人はどうやってこのサービスの呼び出し先がこのURIであることを知ることができるのか。。と疑問がわきます。MSのドキュメントに説明はあると思うのですが、必ずしも読みやすいものでもなくて、サービスとURIのマッピングを知ることは簡単ではないですね。
Graph X-rayツール
ネットで探してみると、どうやらこのツールを使うことで、サービスをアクセスして操作する際のバックグラウンドでのgraph呼び出し内容を表示することができるようです。
まさに名前の通りGrpahの動作をX線で可視化しているツールのような動作です。
Graph X rayツール使用例(Intune動作を確認する)
Graph X rayツールインストール
こちらのページで確認すると、
https://graphxray.merill.net/
Chrome拡張機能、Edge拡張機能、ストアアプリの3種類があるようです。
Edgeの拡張機能を入れてみましょう。
[Microsoft Edge Add-on]
をクリックして、こちらの拡張機能をインストールします。
利用方法ですが、
まずEdgeで、IntuneのAdmin centerを開きます。
その後、Egdeのメニューで、その他のツール-開発者ツールを開きます。
ツール上部の + をクリックして、Graph X-Rayをクリックします。
Intuneのデバイス情報の取得
Intune Admin Centerでデバイスをクリックします。
すると、X-Rayのウインドウにこんな感じでPowerShellのコマンドレットが表示されます。
また、途中にはgraph apiをGETしているURIの情報が表示されています。
どうやらIntuen Admin CenterがアクセスしているURIを相当するPowerShell CmdletまたはURIの情報を表示してくれているようです。
Intuneデバイスのプライマリユーザ変更
今度はGETではなく、POSTの実例です。
Windowsデバイスで、実際のデバイスをクリックして、プライマリユーザを変更してみましょう。
デバイスのプロパティで、Primary userを変更します。
Saveを押してみます。
このURIをPOSTすれば、Primary Userの変更ができそうです。
Postするユーザ情報ですが、以下のようなデータを送付すればよさそうです。(言語をJavascriptに変更して発見)
{"@odata.id":"https://graph.microsoft.com/beta/users/<ユーザのGUID>"}
ではこのURI操作をGraph Explorerで実施して確認してみましょう。
Graph Explorerで以下のようにPOSTしてみます。
成功したかな、特にエラーはなさそうです。
Intune側でデバイス情報のページをリロードしてみると、上のGUIDで指定したユーザに変更されました。
Intuneで色々操作して、その際のGraph呼び出しをX-Rayツールで確認することで、やりたい自動化のGraph APIのヒントがかなり得られそうです。
参考リンク(英語)