注意
此功能作为Intune加载项提供。 有关详细信息,请参阅使用 Intune 套件加载项功能。
设备查询允许你快速获取有关 Windows 设备状态的按需信息。 在所选设备上输入查询时,设备查询会实时运行查询。 然后,返回的数据可用于响应安全威胁、对设备进行故障排除或做出业务决策。
开始之前
- 确认环境满足所有 先决条件。
设备查询的其他先决条件:
设备配置要求
设备查询支持以下 Windows 设备:
- 由 Intune 管理,并标记为公司拥有。
- 已加入Microsoft Entra
- Microsoft Entra混合联接
设备查询实时运行:查询设备时,Intune向设备发送请求,并期待立即响应。 WNS 是传输机制:Windows 推送通知服务用于通知设备并返回查询结果。 强制依赖项:由于 WNS 是此通信不可或缺的一部分,因此无法禁用或绕过它。 如果 WNS 被阻止或不可用,设备查询将失败。
角色要求
使用设备查询
- 在Microsoft Intune管理中心,选择“设备>”“Windows”。
- 选择设备,然后在“监视”部分下选择“设备查询”。
支持的属性部分列出了可查询 支持的属性 。 若要运行查询,请输入Kusto 查询语言 (KQL) 查询,然后选择“运行”。 结果显示在“ 结果 ”选项卡区域中。
有关Kusto 查询语言的详细信息,请参阅Kusto 查询语言概述。
提示
在 Intune 中使用 Copilot 为使用自然语言请求的设备查询生成 KQL 查询。 若要了解详细信息,请参阅 在设备查询中使用 Copilot 进行查询。
最佳实践:
- 考虑如何使用设备查询来帮助 L1/L2 工程师更快地解决支持票证,同时尽量减少对用户的干扰。
- 查看通常需要与最终用户设备建立远程控制会话的支持过程和任务。 使用单个设备查询检查是否可以完成这些作,例如,检查正在运行的服务、检查应用程序配置的注册表项值、检查应用程序版本或按 CPU 消耗报告顶部进程。
- 为 ITSM 知识库中的定期调查创建保存的查询,供 L1/L2 工程师快速访问。
- 更新进程以使用远程作快速解决问题。 重新启动设备,或运行修正脚本来解决已知问题。
远程设备作
使用单个设备查询中的Intune远程设备作来帮助远程管理设备。 从设备查询界面中,现在可以基于查询结果运行设备作,以便更快、更高效地进行故障排除。
可用的设备作取决于设备平台和配置。 并非所有操作都适用于所有设备。 有关可在设备上执行的作的完整列表,请参阅 Microsoft Intune 中的远程设备作。
支持的运算符
设备查询仅支持Kusto 查询语言 (KQL) 中支持的一部分运算符。 当前支持以下运算符:
表运算符
表运算符可用于筛选、汇总和转换数据流。 目前支持以下运算符:
| 表运算符 | 说明 |
|---|---|
count |
返回一个表,其中包含包含记录数的单个记录 |
distinct |
使用输入表提供的列的不同组合生成表 |
join |
合并两个表的行,通过匹配同一设备的行来形成新表 |
order by |
按一列或多列对输入表的行进行排序 |
project |
选择要包含、重命名或删除的列,然后插入新的计算列 |
take |
返回最多指定的行数 |
top |
返回按指定列排序的前 N 条记录 |
where |
将表筛选为满足谓词的行子集 |
标量运算符
下表汇总了运算符:
| 运算符 | 说明 | 示例 |
|---|---|---|
== |
等于 | 1 == 1, 'aBc' == 'AbC' |
!= |
不等于 | 1 != 2, 'abc' != 'abcd' |
< |
少 | 1 < 2, 'abc' < 'DEF' |
> |
大 | 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 |
左侧 (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 |
仅当 RHS 和 LHS 为 true 时,才为 True | (1 == 1) and (2 == 2) |
or |
如果且仅当 RHS 或 LHS 为 true 时,才为 True | (1 == 1) or (1 == 2) |
聚合函数
聚合函数可与表运算符一起使用 summarize ,以计算汇总值。 目前支持以下聚合函数:
| 功能 | 说明 |
|---|---|
avg() |
返回组中值的平均值 |
count() |
返回每个汇总组的记录计数 |
countif() |
返回 Predicate 计算结果为 true 的行计数 |
dcount() |
返回组中非重复值的数目 |
max() |
返回组中的最大值 |
maxif() |
从版本 2107 开始,可以使用 maxifsummarize 表运算符。
返回 Predicate 计算 true结果为 的组的最大值。 |
min() |
返回组中的最小值 |
minif() |
从版本 2107 开始,可以使用 minifsummarize 表运算符。
返回 Predicate 计算 true结果为 的组的最小值。 |
percentile() |
返回 Expr 所定义总体的指定最接近排名百分位数的估计值 |
sum() |
返回组中值的总和 |
sumif() |
返回 Predicate 计算结果为 true 的 Expr 之和 |
标量函数
可以在表达式中使用标量函数。 目前支持以下标量函数:
| 功能 | 说明 |
|---|---|
ago() |
从当前 UTC 时钟时间减去给定的时间跨度 |
bin() |
将值向下舍入为给定箱大小的多个日期/时间倍数 |
case() |
计算谓词列表,并返回满足谓词的第一个结果表达式 |
datetime_add() |
从指定的日期部分乘以指定金额计算新的日期时间,并添加到指定的日期时间 |
datetime_diff() |
计算两个日期时间值之间的差值 |
iif() |
计算第一个参数并返回第二个或第三个参数的值,具体取决于谓词的计算结果为 true (第二个) 还是 false (第三个) |
indexof() |
函数报告输入字符串中指定字符串的第一个匹配项的从零开始的索引 |
isnotnull() |
计算其唯一参数并返回一个布尔值,该值指示参数的计算结果是否为非 null 值 |
isnull() |
计算其唯一参数并返回一个布尔值,该值指示参数的计算结果是否为 null 值 |
now() |
返回当前 UTC 时钟时间 |
strcat() |
连接 1 到 64 个参数 |
strlen() |
返回输入字符串的长度(以字符为单位) |
substring() |
从源字符串中提取从某个索引开始到字符串末尾的子字符串 |
tostring() |
将输入转换为字符串表示形式 |
支持的属性
设备查询支持以下实体。 若要详细了解每个实体支持哪些属性,请参阅Intune数据平台架构。
BiosInfoCertificateCpuDiskDriveEncryptableVolumeFileInfoLocalGroupLocalUserAccountLogicalDriveMemoryInfoOsVersionProcessSystemEnclosureSystemInfoTpmWindowsAppCrashEventWindowsDriverWindowsEventWindowsQfeWindowsRegistryWindowsService
已知限制
- 任何查询的结果字符串限制为 128kb 字符。 如果查询结果超过 128kb 字符,则结果将被截断。 错误消息会通知你有多少行被截断。
- 每分钟只能发送 15 个查询。 如果遇到 “超过查询限制 ”错误,请等待一分钟,然后重试。
- 查询输入的长度限制为 2048 个字符。 如果遇到 查询过长 错误,请优化查询以包含较少的字符,然后重试。
- 现在 () 标量函数不支持 offset 参数。
-
!like不支持运算符。 - 当以下运算符仅支持单引号时,输入窗口会自动推荐双引号:
contains!containsstartswith!startswithendswith
- WindowsRegistry 实体无法返回根目录的 RegistryKey。
- WindowsRegistry 实体无法返回 64 位共享注册表项。
- WindowsRegistry 实体无法返回 binary ValueData。
- 如果计算机上有多个可用的网卡,则仅返回第一个配置的域。
- 如果设备上存在 TPM 2.0,则激活和启用始终返回为 TRUE。
- 如果计算机上当前正在使用某个文件,则 FileInfo 查询将返回错误。
- 如果最终用户对设备具有管理员访问权限,他们也许能够更改查询结果中返回的基于客户端的信息。 例如,OS 版本和注册表。