Microsoft IntuneでTPMのバージョンを確認する

皆さんこんにちは。国井です。
昨今TPMの脆弱性が話題になっており、ベンダーからTPMのパッチがリリースされたりして対応することがあるかと思います。

その時に自分たちの会社で利用しているTPMは十分なバージョンのものを利用しているか?ということを確認したいケースも出てくるかと思います。もしMicrosoft Intuneでデバイスの管理が行われている会社であればIntune管理センターから登録されたデバイスのハードウェア情報を参照すれば

・TPMバージョン
・TPM製造元バージョン

の2つが確認できます。

image

しかしこのやり方はデバイスごとに行わなければならず効率的ではありません。
Intune管理センターではデバイス一覧画面から[エクスポート]ボタンをクリックすれば登録されたすべてのデバイスのハードウェア情報をCSVでエクスポートすることができますが、定期的に確認したいということであれば毎回[エクスポート]ボタンをクリックするのも面倒だと思います。
そこで今日はIntuneに登録された、すべてのデバイスのハードウェアインベントリをどうやって収集するか?をテーマにその方法を探ってみたいと思います。

Log Analyticsから参照する

Microsoft Azureを契約している会社であればMicrosoft IntuneのログはLog Analyticsワークスペースに転送することができます。(実装方法はこちらに書きました)

Intuneに登録されたデバイスのハードウェア情報はIntuneDevicesテーブルに転送されるため、これを参照して確認することができます。
ところが、、

image

なんとIntuneに登録されたハードウェアのすべての情報がLog Analyticsワークスペースに転送されるわけではないんですよね。。察しの通り、TPMの情報も転送されてきません。

Microsoft Graphで収集する

だったら面倒だけど最も確実な方法であるMicrosoft Graphで直接引っ張ってくるやり方がしかありません。
やり方はHTTP要求で GET /deviceManagement/managedDevices を使って、、
って書こうと思ったらIntuneのサンプルスクリプトがGitHubに上がっており、その中のこちらを利用すればTPMの情報を含むデバイスの情報を参照できることがわかりました。

実行するとCSVファイルが生成され、ファイルの中身を開くとこんな感じでtpmSpecificationVersion(TPMバージョン)と
TPMManufacturerVersion(TPM製造元バージョン)が一覧で確認できました。

image

参考になれば幸いです。

おまけ

Intuneのデバイス情報を収集すると言えばこちらを使う方法もあります。

この中からGet-IntuneManagedDeviceコマンドレットを使う方法がありますが、こちらでもTPMの情報は収集できませんでした。