デバイス クエリ

デバイス クエリを使用すると、Windows デバイスの状態に関するオンデマンド情報をすばやく取得できます。 選択したデバイスでクエリを入力すると、デバイス クエリによってリアルタイムでクエリが実行されます。 返されたデータは、セキュリティ上の脅威への対応、デバイスのトラブルシューティング、ビジネス上の意思決定に使用できます。

開始する前に

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

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

デバイス構成の要件

デバイス クエリでは、次のような Windows デバイスがサポートされます。

  • Intune によって管理され、企業所有としてマークされます。
  • Microsoft Entra 参加済みデバイス
  • Microsoft Entra ハイブリッド参加済み

デバイス クエリはリアルタイムで実行されます: デバイスにクエリを実行すると、Intune はデバイスに要求を送信し、即時の応答を期待します。 WNS はトランスポート メカニズムです。Windows プッシュ通知サービスは、デバイスに通知し、クエリ結果を返すために使用されます。 必須の依存関係: WNS はこの通信に不可欠なものであるため、これを無効にしたり、バイパスしたりすることはできません。 WNS がブロックされているか使用できない場合、デバイス クエリは失敗します。

ロールの要件

デバイス クエリを使用するには、次の役割の少なくとも 1 つを持つアカウントを使用します。

デバイス クエリを使用する

  1. Microsoft Intune 管理センターで、[デバイス>Windows] を選択します。
  2. デバイスを選択し、[モニター] セクションの [デバイス クエリ] を選択します。

クエリを実行することができるサポートされているプロパティは、「 サポートされているプロパティ」 セクションに一覧表示されています。 クエリを実行するには、Kusto 照会言語 (KQL) クエリを入力し、[実行] を選択します。 結果は 、[結果] タブ領域に表示されます。

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

ヒント

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

ベスト プラクティス:

  • L1/L2 エンジニアがサポート チケットを迅速に解決し、ユーザーの中断を最小限に抑えるのに役立つ、デバイス クエリの使用方法を検討してください。
  • 通常はエンド ユーザーのデバイスへのリモート制御セッションを必要とするサポート プロセスとタスクを確認します。 これらが単一デバイスのクエリを使用して完了できるかどうかを確認します。たとえば、実行中のサービスのチェック、アプリケーション構成のレジストリ キー値のチェック、アプリケーション バージョンのチェック、CPU 消費量ごとの上位プロセスに関するレポートなどです。
  • L1/L2 エンジニアがすばやくアクセスできるように、ITSM サポート情報に定期的な調査用の保存されたクエリを作成します。
  • 問題を迅速に解決するためにリモート アクションを使用するようにプロセスを更新します。 デバイスを再起動するか、修復スクリプトを実行して既知の問題を解決します。

リモート デバイスの操作

単一デバイス クエリの Intune リモート デバイス アクションを使用すると、デバイスをリモートで管理できます。 デバイス クエリ インターフェイスから、クエリ結果に基づいてデバイス アクションを実行して、より迅速かつ効率的なトラブルシューティングができるようになりました。

使用可能なデバイス操作は、デバイスのプラットフォームと構成によって異なります。 すべてのアクションをすべてのデバイスで使用できるわけではありません。 デバイスで実行できる操作の完全な一覧については、「Microsoft Intune のリモート デバイス アクション」を参照してください。

サポートされる演算子

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

テーブル演算子

テーブル演算子は、データ ストリームのフィルター処理、集計、変換に使用できます。 現在、次の演算子がサポートされています。

テーブル演算子 説明
count レコード数を含む 1 つのレコードを持つテーブルを返します。
distinct 入力テーブルの指定された列の異なる組み合わせを持つテーブルを生成します
join 同じデバイスの行を一致させて、2 つのテーブルの行をマージして新しいテーブルを作成する
order by 入力テーブルの行を 1 つ以上の列で並べ替える
project 含める列の選択、名前の変更、削除、新しい計算列の挿入
take 指定した行数まで返す
top 指定した列で並べ替えて、最初の N 件のレコードを返します
where 述語を満たす行のサブセットにテーブルをフィルター処理します

スカラー演算子

次の表は、演算子をまとめたものです。

演算子 説明
== 等しい 1 == 1, 'aBc' == 'AbC'
!= 等しくない 1 != 2, 'abc' != 'abcd'
< より小さい 1 < 2, 'abc' < 'DEF'
> Greater 2 > 1, 'xyz' > 'XYZ'
<= より小さいか等しい 1 <= 2, 'abc' <= 'abc'
>= 以上 2 >= 1, 'abc' >= 'ABC'
+ 追加する 2 + 1, now() + 1d
- 減算 2 - 1, now() - 1h
* 乗算 2 * 2
/ 除算 2 / 1
% 剰余 2 % 1
like Left Hand Side (LHS) には、Right Hand Side (RHS) の一致が含まれます 'abc' like '%B%'
contains RHS は LHS のサブシーケンスとして発生します 'abc' contains 'b'
!contains RHS が LHS で発生しない '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 RHS と LHS が true の場合のみ true (1 == 1) and (2 == 2)
or RHS または LHS が true の場合のみ true (1 == 1) or (1 == 2)

集計関数

集計関数を summarize テーブル演算子と共に使用して、集計値を計算できます。 現在、次の集計関数がサポートされています。

関数 説明
avg() グループの値の平均値を返します。
count() 集計グループあたりのレコード数を返します。
countif() 述語が true と評価される行の数を返します
dcount() グループ内の個別の値の数を返します。
max() グループ全体の最大値を返します。
maxif() バージョン 2107 以降では、summarize テーブル演算子と共に maxif を使用できます。

述語true と評価されるグループ全体で最大値を返します。
min() グループの最小値を返します。
minif() バージョン 2107 以降では、summarize テーブル演算子と共に minif を使用できます。

述語true と評価されるグループ全体で最小値を返します。
percentile() Expr によって定義される母集団の指定された最も近い順位の百分位数の推定値を返します。
sum() グループ全体の値の合計を返します。
sumif() 述語が true と評価される Expr の合計を返します。

スカラー関数

スカラー関数は式で使用できます。 現在、次のスカラー関数がサポートされています。

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

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

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

  • BiosInfo
  • Certificate
  • Cpu
  • DiskDrive
  • EncryptableVolume
  • FileInfo
  • LocalGroup
  • LocalUserAccount
  • LogicalDrive
  • MemoryInfo
  • OsVersion
  • Process
  • SystemEnclosure
  • SystemInfo
  • Tpm
  • WindowsAppCrashEvent
  • WindowsDriver
  • WindowsEvent
  • WindowsQfe
  • WindowsRegistry
  • WindowsService

既知の制限

  • クエリの結果文字列は 128 KB 文字に制限されます。 クエリの結果が 128 KB 文字を超える場合、結果は切り捨てられます。 切り捨てられた行の数を通知するエラー メッセージが表示されます。
  • 1 分間に送信できるクエリは 15 個のみです。 "クエリ制限の超過 "エラーが発生した場合は、1 分待ってから再試行してください。
  • クエリ入力には、2048 文字の長さ制限があります。 query too long エラーが発生した場合は、クエリを絞り込んで文字数を減らし、もう一度やり直してください。
  • now() スカラー関数はオフセット パラメーターをサポートしていません。
  • !like演算子はサポートされていません。
  • 次の演算子で単一引用符のみがサポートされている場合、入力ウィンドウは二重引用符を自動的に推奨します。
    • contains
    • !contains
    • startswith
    • !startswith
    • endswith
  • WindowsRegistry エンティティは、root のレジストリ キーを返すことができません。
  • WindowsRegistry エンティティは 64 ビット共有レジストリ キーを返しません。
  • WindowsRegistry エンティティがバイナリ ValueData を返すことができません。
  • マシンで使用可能なネットワーク カードが複数ある場合は、最初に構成されたドメインのみが返されます。
  • TPM 2.0 がデバイスに存在する場合、アクティブ化および有効化は常に TRUE として返されます。
  • ファイルが現在マシンで使用されている場合、FileInfo クエリはエラーを返します。
  • エンド ユーザーがデバイスへの管理者アクセス権を持っている場合、クエリ結果で返されるクライアントベースの情報を変更できる場合があります。 たとえば、OS バージョンやレジストリなどです。