PowerShellでIntuneの情報を取得する(Microsoft Graph)
はじめに
PowerShellでIntuneに登録された端末の情報やコンプライアンスポリシーを取得したいときの忘備録になります。
準備
Microsoft Graphのアクセス許可のリファレンスからIntuneに関係するものを探してみます。
※検索窓でIntuneと入力してみてください
アクセス許可多すぎ!!ってなってたら下の方にサンプルがありました。
なるほど。Intuneに登録しているデバイス、管理対象アプリ、コンプライアンスポリシーごとにアクセス許可が違うみたいです。
アクセス許可 | 使用例 |
---|---|
DeviceManagementConfiguration.Read.All | コンプライアンスポリシーや構成プロファイルの割り当て状態とか? |
DeviceManagementApps.Read.All | アプリケーション情報 |
DeviceManagementManagedDevices.Read.All | デバイス情報 |
DeviceManagementManagedDevices.ReadWrite.All | デバイスの影響度が少ないプロパティを変更する |
DeviceManagementManagedDevices.PrivilegedOperations.All | デバイスのパスコードリセットや所有権の変更などの影響が大きいリモート操作やプロパティの変更 |
次にPowerShellで利用可能なモジュールを探してみます。
※アクセス許可の頭文字に「DeviceManagement」がついているのでこれを頼りにモジュールを探します。
Microsoft.Graph.DeviceManageMentモジュールがあり、Microsoft.Graph.DeviceManageMent.ActionsやEnrollmentなどサブモジュールがあるようです。
パッと見た感じ使えそうなGetコマンドトレットを試し打ちしてみたいと思います。
モジュールのインストール方法などはこちらにざっくりと記載しています。
本記事では割愛いたしますので、良ければご覧ください。
接続
# 実運用でのアクセス許可はもう少し細かくした方が良いです。
Connect-MgGraph -Scopes "DeviceManagementConfiguration.Read.All","DeviceManagementApps.Read.All","DeviceManagementManagedDevices.Read.All"
登録済みデバイス
デバイス一覧
Get-MgDeviceManagementManagedDevice
Intuneに登録済みデバイスの総数
Get-MgDeviceManagementManagedDeviceOverview | fl EnrolledDeviceCount
※Microsoft Graph REST APIのリファレンスを見るとリターンオブジェクトの詳細が分かります。
特定のデバイスのプライマリユーザー
Get-MgDeviceManagementManagedDeviceUser -ManagedDeviceId "対象のデバイスID"
コンプライアンスポリシー
コンプライアンスポリシーの一覧
Get-MgDeviceManagementDeviceCompliancePolicy
特定のデバイスのコンプライアンスポリシーの割り当て状況
Get-MgDeviceManagementManagedDeviceCompliancePolicyState -ManagedDeviceId "デバイスのID"
特定のコンプライアンスポリシーの非準拠のデバイス一覧
Get-MgDeviceManagementDeviceCompliancePolicyDeviceStatuses -DeviceCompliancePolicyId "コンプライアンスポリシーのID" -Filter "Status eq 'nonCompliant'"
# 上のコマンドがエラーになったので仕方なくCSV出力
Get-MgDeviceManagementDeviceCompliancePolicyDeviceStatuses -DeviceCompliancePolicyId "コンプライアンスポリシーのID" | Export-Csv -Path "パス" -Encoding UTF8
StatusがnonCompliantのものとかを調査すればよいかなという感じです。
意外とStatusパラメーターの種類が多い。
deviceComplianceDeviceStatusのプロパティ
デバイスの準拠ステータス
構成プロファイル
構成プロファイルの一覧
Get-MgDeviceManagementDeviceConfiguration
おわりに
Microsoft Graph PowerShellでIntuneの基本的な情報は取得できました。
デバイスのプロパティなどを変更した際の忘備録も書ければと思います。
2023年一本目の記事をご覧いただきありがとうございました!
Discussion