You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

获取Microsoft Defender笔记本指定registry key值的高级狩猎查询

Microsoft Defender 高级狩猎查询纳管笔记本指定注册表键值方案

核心实现逻辑

通过KQL语句关联设备信息表和注册表快照表,先筛选出平台纳管的所有笔记本设备,再匹配对应设备上上报的目标注册表键值数据,不需要额外在设备端部署脚本。

可直接复用的查询语句

替换语句里标注的目标注册表路径即可使用:

// 筛选已纳管的活跃笔记本设备集合
let ManagedLaptops = DeviceInfo
| where OnboardingStatus == "Onboarded"
| where DeviceType == "Laptop"
| where LastSeen > ago(7d) // 仅保留近7天有上报的活跃设备,可按需调整时间范围
| project DeviceId, DeviceName, OSPlatform, LastSeen;
// 查询目标注册表键对应取值
DeviceRegistryEvidence
// 👇 替换下方引号内的路径为你要查询的目标注册表键全路径
| where RegistryKey == @"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced"
| join kind=inner ManagedLaptops on DeviceId
| project 
    ReportTime = Timestamp,
    DeviceName,
    DeviceOS = OSPlatform,
    DeviceLastOnline = LastSeen,
    RegistryKey,
    ValueName = RegistryValueName,
    ValueData = RegistryValueData,
    ValueType = RegistryValueType
| sort by DeviceLastOnline desc

常见场景调整说明

  • 若需要查询注册表值的修改历史而非当前快照:将语句中的DeviceRegistryEvidence替换为DeviceRegistryEvents,可额外增加| where ActionType == "RegistryValueSet"筛选修改/创建值的操作,还能关联查到执行修改操作的进程、账号信息。
  • 若需要覆盖32位程序重定向的注册表路径:修改RegistryKey的筛选条件为| where RegistryKey in (@"你的64位注册表路径", @"HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\对应的32位路径")即可同时查询两个节点下的值。
  • 若需要批量查询多个注册表键:直接将RegistryKey筛选条件改为| where RegistryKey in (@"路径1", @"路径2", @"路径3"),填入所有目标路径即可。

异常排查参考

如果查询无返回结果,优先检查两点:

  1. 填写的注册表键全路径是否正确,注意不要遗漏根键前缀(比如HKEY_LOCAL_MACHINE不要简写为HKLM)
  2. 确认Defender for Endpoint的设备扫描配置已覆盖目标注册表所在的根键,默认配置下系统配置、启动项、软件安装相关的注册表路径均会被自动扫描上报。

内容的提问来源于stack exchange,提问作者Ellliot911

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.31 22:09:20