次の方法で共有


複数のデバイスのデバイス クエリ

注:

この機能は、Intune アドオンとして使用できます。 詳細については、「Intune Suite アドオン機能を使用する」を参照してください。

複数のデバイスに対するデバイス クエリを使用すると、Kusto 照会言語 (KQL) を使用してデバイスの収集されたインベントリ データ全体に対してクエリを実行することで、デバイスのフリート全体に関する包括的な分析情報を得ることができます。

開始する前に

  • 環境がすべての前提条件を満たしていることを確認 します

複数のデバイスのデバイス クエリの追加の前提条件:

デバイス プラットフォームの要件

複数のデバイスのデバイス クエリでは、次がサポートされます。

  • Windows
  • Android
    • 会社所有 Android Enterprise 専用デバイス (COSU)
    • 会社所有 Android Enterprise フル マネージド (COBO)
    • Android Enterprise の会社所有の仕事用プロファイル (COPE)
  • Apple
    • iOS/iPadOS
    • macOS

デバイス構成の要件

複数のデバイスのデバイス クエリでは、次のデバイスがサポートされています。

  • Intuneによって管理され、企業所有としてマークされている
  • Windows デバイスには、インベントリ データを収集するために 、プロパティ カタログ ポリシー が展開されている必要があります。
    iOS/iPadOS、Android、macOS の場合、データは自動的に収集され、個別のプロパティ カタログ ポリシーをデプロイする必要はありません。

ロールの要件

複数のデバイスに対してデバイス クエリを使用するには、次のロールの少なくとも 1 つを持つアカウントを使用します。

  • ヘルプ デスク オペレーター
  • 次を含むカスタム ロール:
    • アクセス許可 マネージド デバイス/クエリ
    • Intune内の管理対象デバイス (組織/読み取り、管理対象デバイス/読み取りなど) の可視性とアクセスを提供するアクセス許可

複数のデバイスに対してデバイス クエリを使用する

  1. Microsoft Intune管理センターで、[デバイス>デバイス クエリ] を選択します。
  2. サポートされているプロパティとサポートされている演算子を使用して、クエリ ボックスにクエリを入力します。
  3. [実行] を選択してクエリを実行します。
  4. [結果] タブ領域に 結果 が表示されます。
    • クエリの一部のみを実行する場合、またはクエリ ウィンドウに複数のクエリがあり、1 つのクエリのみを実行する場合は、実行するクエリを強調表示し、[ 実行] を選択できます。 そのクエリのみが実行されます。

左側のビューを展開して、クエリ可能なすべてのプロパティを表示できます。 クエリに設定するものを選択します。 左側とクエリ ウィンドウの両方の端を選択してドラッグして、調整を行うことができます。

クエリを実行した後、[ エクスポート] を選択して結果を .CSV ファイルに保存します。 クエリ結果のすべての列、または選択した列のみをエクスポートするオプションがあります。 最大 50,000 件の結果をファイルにエクスポートできます。

Kusto 照会言語の詳細については、「Kusto 照会言語の詳細」を参照してください。

ヒント

Intuneで Copilot を使用して、自然言語要求を使用してデバイス クエリの KQL クエリを生成します。 詳細については、「 デバイス クエリで Copilot を使用してクエリを実行する」を参照してください。

サンプル クエリ

開始に役立ついくつかのサンプル クエリについては、このセクションで説明します。 サンプル クエリにアクセスするには、[はじめに] ページの下の [サンプル クエリ ] セクションを展開し、クエリ ウィンドウに追加するクエリを選択します。 次のセクションでは、サンプル クエリの一覧を示します。

コア数別の上位プロセッサ

このクエリでは、コア数で並べ替えられた上位 5 つの CPU が一覧表示されます。

Cpu| project Device, ProcessorId, Model, Architecture, CpuStatus, ProcessorType, CoreCount, LogicalProcessorCount, Manufacturer, AddressWidth| order by CoreCount asc| take 5

保護されていないディスクを持つデバイス

このクエリでは、暗号化されていないディスクを持つデバイスを一覧表示します。

EncryptableVolume| where ProtectionStatus != "PROTECTED"| join LogicalDrive

Arm64 デバイス

このクエリでは、ARM64 プロセッサを持つすべてのデバイスを一覧表示します。

Cpu | where Architecture == "ARM64"

プロセッサ アーキテクチャ別のデバイス数

このクエリでは、CPU アーキテクチャ別のデバイスの概要を示します。

Cpu| summarize DeviceCount=count() by Architecture

バッテリー容量別の上位デバイス

このクエリでは、完全に充電されたバッテリー容量によって上位 10 台のデバイスが一覧表示されます。

Battery| project Device, InstanceName, Manufacturer, Model, SerialNumber, CycleCount, DesignedCapacity, FullChargedCapacity, FullChargedCapacityPercent = (FullChargedCapacity*100)/DesignedCapacity| top 10 by FullChargedCapacityPercent asc

デバイスのメモリ情報

このクエリでは、物理メモリと仮想メモリを持つデバイスを GB 単位で一覧表示します。

MemoryInfo| project Device, PhysicalMemoryGB = PhysicalMemoryTotalBytes/(1000*1000*1000), VirtualMemoryGB = VirtualMemoryTotalBytes/(1000*1000*1000) | order by PhysicalMemoryGB asc

OS バージョン別のデバイス数

このクエリは、OS バージョン別のデバイスの概要を提供します。

OsVersion| summarize DevicesCount = count() by OsVersion

デバイス Bios 情報

このクエリでは、BIOS の製造元に基づいてデバイスが一覧表示されます。

BiosInfo| where Manufacturer contains "Microsoft"

TPM が無効なデバイス

このクエリは、TPM が無効になっているデバイスの一覧を示します。

Tpm | where Enabled != true

サポートされる演算子

デバイス クエリでは、Kusto 照会言語 (KQL) でサポートされている演算子のサブセットのみがサポートされます。 現在、次の演算子がサポートされています。

テーブル演算子

テーブル演算子を使用して、データ ストリームのフィルター処理、集計、変換を行うことができます。 次の演算子がサポートされています。

Table 演算子 説明
count レコード数を含む 1 つのレコードを含むテーブルを返します。
distinct 入力テーブルの指定された列の個別の組み合わせを持つテーブルを生成します。
join 同じデバイスの行を照合して、2 つのテーブルの行をマージして新しいテーブルを形成します。 inneruniqueLeftouterFullouterRightouter、および内部の結合の種類のみがサポートされます。 サポートされている型以外の結合型を入力すると、それらは無視されます。 join ステートメントは、DeviceまたはDevice.Deviceidで結合されている場合、on構文をサポートします。 結合の一般的な構文は LeftEntity |条件で [ヒント] (RightEntity) を結合します。 詳細については、「 Join のドキュメント」を参照してください。
order by 入力テーブルの行を 1 つ以上の列で並べ替えます。
project 新しい計算列を含める、名前を変更する、またはドロップする列を選択し、挿入します。
take 指定された行数まで返します。
top 指定した列で並べ替えられた最初の N 個のレコードを返します。
where 述語に適合する行のサブセットにテーブルをフィルター処理します。
summarize は、入力テーブルの内容を集計するテーブルを生成します。

スカラー演算子

スカラー演算子を使用して、個々の値に対する操作を実行できます。 次の演算子がサポートされています。

演算子 説明
== 等しい 1 == 1, 'aBc' == 'AbC'
!= 等しくない 1 != 2, 'abc' != 'abcd'
< より小さい 1 < 2, 'abc' < 'DEF'
> Greater 2 > 1, 'xyz' > 'XYZ'
<= Less or Equal 1 <= 2, 'abc' <= 'abc'
>= 大きいまたは等しい 2 >= 1, 'abc' >= 'ABC'
+ 追加する 2 + 1, now() + 1d
- 減算 2 - 1, now() - 1h
* 乗算 2 * 2
/ 除算 2 / 1
% モジュロ 2 % 1
like LHS に RHS の一致が含まれています 'abc' like '%B%'
contains RHS は、LHS のサブシーケンスとして発生します 'abc' contains 'b'
!contains LHS で RHS が発生しない 'team' !contains 'i'
startswith RHS は LHS の初期サブシーケンスです 'team' startswith 'tea'
!startswith RHS は LHS の初期サブシーケンスではありません 'abc' !startswith 'bc'
endswith RHS は LHS の終了サブシーケンスです 'abc' endswith 'bc'
!endswith RHS は LHS の終了サブシーケンスではありません 'abc' !endswith 'a'
and TRUE の場合と、RHS と LHS が true の場合のみ (1 == 1) and (2 == 2)
or RHS または LHS が true の場合にのみ True (1 == 1) or (1 == 2)

集計関数

集計関数を使用して、データを集計できます。 次の関数がサポートされています。

関数 説明
avg() グループ全体の値の平均を返します
count() 集計グループごとのレコード数を返します
countif() 述語が true と評価される行の数を返します
dcount() グループ内の個別の値の数を返します
max() グループ全体の最大値を返します
maxif() 述語が true と評価されるグループ全体の最大値を返します
min() グループ全体の最小値を返します
minif() 述語が true と評価されるグループ全体の最小値を返します
percentile() Expr によって定義された母集団の指定された最も近いランクパーセンタイルの推定値を返します
sum() グループ全体の値の合計を返します
sumif() 述語が true と評価される Expr の合計を返します

スカラー関数

スカラー関数を使用して、個々の値に対する操作を実行できます。 次の関数がサポートされています。

関数 説明
ago() 現在の UTC クロック時刻から指定されたタイムスパンを減算します。
bin() 値を、指定されたビン サイズの複数の datetime に丸めます。
case() 述語の一覧を評価し、述語が満たされている最初の結果式を返します。
datetime_add() 指定した datepart から指定した datetime に指定した datetime を乗算し、指定した datetime に加算した値を乗算して、新しい datetime を計算します。 amount パラメーターの負の値はサポートされていません。
datetime_diff() 2 つの datetime 値の差を計算します。
iif() 述語が true (2 番目) または false (3 番目) に評価されたかどうかに応じて、最初の引数を評価し、2 番目または 3 番目の引数の値を返します。
indexof() 入力文字列内の指定した文字列の最初の出現の 0 から始まるインデックスを報告します。
isnotnull() その唯一の引数を評価し、引数が null 以外の値に評価されるかどうかを示すブール値を返します。
isnull() その唯一の引数を評価し、引数が null 値に評価されるかどうかを示すブール値を返します。
now() 現在の UTC 時刻を返します。
strcat() 1 ~ 64 個の引数を連結します。
strlen() 入力文字列の長さを文字数で返します。
substring() 一部のインデックスから文字列の末尾まで、ソース文字列から部分文字列を抽出します。
tostring() 入力を文字列表現に変換します。

サポートされているプロパティ

デバイス クエリでは、次のエンティティがサポートされています。 各エンティティでサポートされるプロパティの詳細については、「データ プラットフォーム スキーマのIntune」を参照してください。

  • Apple Auto Setup Admin Accounts
  • Apple Device States
  • Apple Update Settings
  • Battery
  • Bios Info
  • Bluetooth
  • Cellular
  • CPU
  • Device Storage
  • Disk Drive
  • Encryptable Volume
  • Logical Drive
  • Memory Info
  • Network Adapter
  • Os Version
  • Shared iPad
  • Sim Info
  • System Enclosure
  • SystemInfo
  • Time
  • Tpm
  • Video Controller
  • Windows Qfe

デバイス エンティティ

複数のデバイスのデバイス クエリでは、リンクされたエンティティがサポートされています。 Device エンティティは、サポートされている他のすべてのエンティティと共に使用できます。 デバイス エンティティでは、次のプロパティがサポートされています。

プロパティ 説明
DeviceId 文字列 デバイス登録の一部としてIntuneによって生成される一意の ID。
EntraDeviceId 文字列 登録または参加の一部としてMicrosoft Entraによって生成Microsoft Entra一意の ID。
ManagementName 文字列 Intune管理センターでのみ使用される、簡単に認識できるデバイス名。 この名前を変更しても、デバイス名やポータル サイト内の名前は変更されません。
DeviceName 文字列 デバイスの名前
SerialNumber 文字列 デバイスのシリアル番号
Manufacturer 文字列 デバイスのメーカー
Model 文字列 デバイスのモデル
OSDescription 文字列 オペレーティング システム エディションの完全な説明
OSVersion 文字列 デバイス上のオペレーティング システムのバージョン
EnrollmentProfileName 文字列 デバイスに割り当てられた登録プロファイルの名前。 既定値は、デバイスに割り当てられた登録プロファイルがないことを示す空の文字列です。
EnrolledDateTime Datetime デバイスが Intune に登録された日時。
CertExpirationDateTime Datetime デバイス管理証明書の有効期限を報告します。
EnrolledByUserId 文字列 デバイスを登録したユーザーの一意識別子
PrimaryUserId 文字列 デバイスに関連付けられているユーザーの一意の識別子。
LastLoggedOnUserId 文字列 デバイスに最後にログオンしたユーザーの一意識別子。
InCompliancePeriodUntilDateTime Datetime デバイス コンプライアンスの猶予期間が経過する DateTime
DeviceCategoryId 文字列 デバイス カテゴリの表示名。 既定値は空の文字列です。
LastSeenDateTime 文字列 デバイスが最後に Intune に接続された日時。
Ownership 文字列 デバイスの所有権。

デバイス エンティティを使用すると、結果の行に関連付けられているデバイスを参照できます。これらを結合するために別のクエリを記述する必要はありません。 基本的には、クエリ結果にデバイス情報を含める自動結合として機能します。

デバイス エンティティは、使いやすくするために、他のすべてのエンティティに自動的に参加します。 デバイス エンティティは、クエリが projectsummarize、または distinctなどの演算子を使用して戻り値の型を更新しない限り、クエリ結果の最初の列です。

クエリで Device を単独で使用すると、 Device.DeviceIdに解析されます。 既定で返される [デバイス] 列では、デバイスの識別を容易にするために DeviceId が DeviceName に変換されます。 デバイス エンティティとそのプロパティは、Device を参照することでクエリで参照することもできます。[Insert プロパティ]。

次のクエリは、シリアル番号が 123 のすべてのデバイスのすべての DiskDrive 情報を返します。

DiskDrive
where Device.SerialNumber = 123

次のクエリは、エンティティ DiskDrive のデバイス ID と製造元のプロパティを投影します。

DiskDrive | project Device.DeviceId, Manufacturer

既定では最初の列として表示される Device エンティティはデバイス名として表示されますが、クエリで Device 自体を使用すると Device.DeviceId が解析されます。 このクエリは、DeviceName ではなく DeviceID によって並べ替えられた結果を返します。

MemoryInfo | order by Device

同様に、デバイス ID が Desktop123 でない限り、このクエリは結果を返しません。 デバイス名に対してクエリを実行しません。

Cpu | where Device == "Desktop123"

次の例を使用して、デバイス名を照会します。

Cpu | where Device.DeviceName == 'Desktop123"

既知の制限

  • 集計関数で Device エンティティを使用すると、赤い下線が表示されます。 ただし、クエリは引き続き実行でき、期待どおりに結果を返すことができます。 たとえば、次のクエリでは、[ デバイス ] の下に赤い下線が表示されますが、引き続き実行されます。

    Cpu | summarize max(Device) by Manufacturer.
    
  • 結合演算子、$left、$right パラメーターを使用したクエリでは、$leftと$rightの下に赤い下線が表示されます。 ただし、クエリは引き続き実行でき、期待どおりに結果を返します。

  • 1 つのクエリに含めることができる結合演算子は最大 3 つです。 結合数が多いクエリは失敗します。

  • クエリに対して最大 50,000 個のレコードが返されます。

  • 1 分あたり最大 10 個のクエリを送信できます。 同じ分内の他のクエリは失敗します。

  • 1 か月あたり最大 1,000 個のクエリを送信できます。

  • datetime_add() 関数の amounts パラメーターの負の値はサポートされていません。

  • 集計関数によって集計された変数を参照すると、エラーがスローされます。 変数に明示的に名前を付けて、クエリを再度成功させることができます。 たとえば、クエリ Device |summarize dcount(DeviceId) |dcount_DeviceIdによる注文は失敗します。 デバイス |summarize DCountDeviceIdRename=dcount(DeviceId) |DCountDeviceIdRename による順序が成功します。