(2022年4月1日)
2022/03/27に配信されたPower BI Weekly Newsの中で話が合った、Intunesのデータウエアハウスでのデバイス管理について調べてみました。
Microsoft Endpoint Manager admin centerでは、Intuneで管理された情報を見ることができますが、データを取得してPower BIでレポートをカスタマイズすることもできます。
1. Microsoft Endopoint Manager admin center
まず、Microsoft Endpoint Manager admin centerを開き、「レポート」「データウエアハウス」を選択します。
右側に「レポートサービス用のODataフィールド」という項目の中身をコピー、Power BIのODataデータソースとして使います。
https://fef.{location}.manage.microsoft.com/ReportingService/DataWarehouseFEService/{entity-collection}?api-version={api-version}
2. メタデータ
どのようなデータが取れるのか、先ほどのURLからメタデータを取得します。下のURLの{location}を各自の環境に合わせて書き換えます。{entity-collection}の部分に$metadataと入れるのがポイントです。
https://fef.{location}.manage.microsoft.com/ReportingService/DataWarehouseFEService/$metadata?api-version=v1.0
この中で最後の方にある<EntitySet Name="mobileAppInstallStates"となっているところが、エンティティ名になります。
それぞれのエンティティの中身は、以下のDOCSを参照してください。
3. ベータ版
先ほどのURLは、api-version=v1.0になっていましたが、api-version=beta でベータ版を使用して最新の機能が試せます。
ベータ版で取得できるデータの中で興味深いのが、applicationInventoriesです。デバイス上のアプリケーションの名前とバージョンが表示されます。
このデータを開くと、とても長い時間待たされ、結局タイムアウトしてしまうことが多いようです。DOCSを調べてみると、2022年2月に廃止になったと書かれています。他のブログを読むとベータ版に格下げされたようです。
今後、このデータを取得するにはGraphAPIを使用するように書かれています。MAMで管理されるアプリケーションを見るだけなら、v1.0でも使えるmanApplicationInstancesを使えばいいでしょう。
4. それでもapplicationInventoriesを使いたい場合
ODataの接続に、Microsoft Endopoint Manager admin centerからコピーしたURLをそのまま使うのではなく、直接applicationInventoriesのエンティティを開くように指定すると、若干早くなるようです。
https://fef.{location}.manage.microsoft.com/ReportingService/DataWarehouseFEService/applicationInventories?api-version=beta
{location}の部分は、各自の環境に合わせて書き換えます。
コピーしたURLをそのまま使った場合、メタデータを読み込んで全部のエンティティ名を取得したのち、指定されたエンティティを展開する動きをしているようです。メタデータをとらないことでデータ取得が若干早くなるのだと思います。他のエンティティに比べ、applicationInventoriesのデータ量は大きくなるので取得には時間がかかり、やっぱりタイムアウトしてしまうかもしれません。