注:
この機能は、Intune アドオンとして使用できます。 詳細については、「Intune Suite アドオン機能を使用する」を参照してください。
デバイス クエリを使用すると、Windows デバイスの状態に関するオンデマンド情報をすばやく取得できます。 選択したデバイスでクエリを入力すると、デバイス クエリによってクエリがリアルタイムで実行されます。 返されたデータは、セキュリティ上の脅威への対応、デバイスのトラブルシューティング、またはビジネス上の意思決定に使用できます。
開始する前に
- 環境がすべての前提条件を満たしていることを確認 します。
デバイス クエリのその他の前提条件:
デバイス構成の要件
デバイス クエリでは、次の Windows デバイスがサポートされています。
- Intuneによって管理され、企業所有としてマークされています。
- Microsoft Entra 参加済みデバイス
- Microsoft Entra ハイブリッド参加済み
デバイス クエリはリアルタイムで実行されます。デバイスに対してクエリを実行すると、Intuneはデバイスに要求を送信し、すぐに応答する必要があります。 WNS はトランスポート メカニズムです。Windows プッシュ通知サービスは、デバイスに通知し、クエリ結果を返すために使用されます。 必須の依存関係: WNS はこの通信に不可欠であるため、無効にしたりバイパスしたりすることはできません。 WNS がブロックされているか使用できない場合、デバイス クエリは失敗します。
ロールの要件
デバイス クエリを使用するには、少なくとも次のいずれかのロールを持つアカウントを使用します。
- ヘルプ デスク オペレーター
- 次を含むカスタム ロール:
- アクセス許可 マネージド デバイス/クエリ
- Intune内の管理対象デバイス (組織/読み取り、管理対象デバイス/読み取りなど) の可視性とアクセスを提供するアクセス許可
デバイス クエリを使用する
- Microsoft Intune管理センターで、[デバイス>Windows] を選択します。
- デバイスを選択し、[モニター] セクションの [デバイス クエリ] を選択します。
クエリを実行できるサポートされているプロパティは、[ サポートされているプロパティ ] セクションに一覧表示されます。 クエリを実行するには、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' |
<= |
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) |
集計関数
集計関数は、 summarize テーブル演算子と共に使用して、集計値を計算できます。 現在、次の集計関数がサポートされています。
| 関数 | 説明 |
|---|---|
avg() |
グループ全体の値の平均を返します |
count() |
集計グループごとのレコード数を返します |
countif() |
述語が true と評価される行の数を返します |
dcount() |
グループ内の個別の値の数を返します |
max() |
グループ全体の最大値を返します |
maxif() |
バージョン 2107 以降では、summarize テーブル演算子でmaxifを使用できます。
Predicate が trueと評価されるグループ全体の最大値を返します。 |
min() |
グループ全体の最小値を返します |
minif() |
バージョン 2107 以降では、summarize テーブル演算子でminifを使用できます。
Predicate が trueと評価されるグループ全体の最小値を返します。 |
percentile() |
Expr によって定義された母集団の指定された最も近いランクパーセンタイルの推定値を返します |
sum() |
グループ全体の値の合計を返します |
sumif() |
述語が true と評価される Expr の合計を返します |
スカラー関数
スカラー関数は、式で使用できます。 現在、次のスカラー関数がサポートされています。
| 関数 | 説明 |
|---|---|
ago() |
現在の UTC クロック時刻から指定されたタイムスパンを減算します |
bin() |
指定されたビン サイズの多くの datetime 倍数に値を丸めます |
case() |
述語の一覧を評価し、述語が満たされている最初の結果式を返します |
datetime_add() |
指定した datepart から指定した datetime に指定した datetime を乗算し、指定した datetime に加算して、新しい datetime を計算します。 |
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」を参照してください。
BiosInfoCertificateCpuDiskDriveEncryptableVolumeFileInfoLocalGroupLocalUserAccountLogicalDriveMemoryInfoOsVersionProcessSystemEnclosureSystemInfoTpmWindowsAppCrashEventWindowsDriverWindowsEventWindowsQfeWindowsRegistryWindowsService
既知の制限
- クエリの結果文字列は 128 kb 文字に制限されています。 クエリの結果が 128 kb 文字を超える場合、結果は切り捨てられます。 切り捨てられる行の数を示すエラー メッセージが表示されます。
- 1 分間に送信できるクエリは 15 個のみです。 クエリの制限を超えたエラーが発生した場合は、1 分間待ってからやり直してください。
- クエリ入力の長さの制限は 2048 文字です。 クエリが長すぎるエラーが発生した場合は、クエリを絞り込んで文字数を減らしてからやり直してください。
- now() スカラー関数は offset パラメーターをサポートしていません。
-
!like演算子はサポートされていません。 - 次の演算子で単一引用符のみがサポートされている場合、入力ウィンドウでは二重引用符が自動的に推奨されます。
contains!containsstartswith!startswithendswith
- WindowsRegistry エンティティがルートの RegistryKey を返すのに失敗します。
- WindowsRegistry エンティティは、64 ビットの共有レジストリ キーを返すのに失敗します。
- WindowsRegistry エンティティがバイナリ ValueData を返すのに失敗します。
- マシンで複数のネットワーク カードが使用可能な場合は、最初に構成されたドメインのみが返されます。
- TPM 2.0 がデバイスに存在する場合、アクティブ化され、有効になると常に TRUE として返されます。
- ファイルが現在マシンで使用されている場合、FileInfo クエリはエラーを返します。
- エンド ユーザーがデバイスへの管理者アクセス権を持っている場合、クエリ結果で返されるクライアント ベースの情報を変更できる可能性があります。 たとえば、OS のバージョンとレジストリなどです。