11 使用 WMI 进行发现 queries

概述

WMI 是 Windows 中一个强大的接口,可用于获取有关 Windows 组件、服务状态和已安装软件的各种信息。

它可以用于物理磁盘发现及其性能数据收集、网络接口发现、Hyper-V 客户机发现、监控 Windows 服务以及 Windows 操作系统中的许多其他功能。

此类低级别 discovery 使用 WQL queries 实现,其结果通过 get 自动转换为适用于低级别发现的 JSON object。

监控项键值

发现规则 中使用的监控项为:

wmi.getall[<namespace>,<query>]

监控项 会将查询结果转换为 JSON 数组。例如:

select * from Win32_DiskDrive where Name like '%PHYSICALDRIVE%'

可能返回如下内容:

[
    {
        "DeviceID" : "\\.\PHYSICALDRIVE0",
        "BytesPerSector" : 512,
        "Capabilities" : [
            3,
            4
        ],
        "CapabilityDescriptions" : [
            "Random Access",
            "Supports Writing"
        ],
        "Caption" : "VBOX HARDDISK ATA Device",
        "ConfigManagerErrorCode" : 0,
        "ConfigManagerUserConfig" : "False",
        "CreationClassName" : "Win32_DiskDrive",
        "Description" : "Disk drive",
        "FirmwareRevision" : "1.0",
        "Index" : 0,
        "InterfaceType" : "IDE"
    },
    {
        "DeviceID" : "\\.\PHYSICALDRIVE1",
        "BytesPerSector" : 512,
        "Capabilities" : [
            3,
            4
        ],
        "CapabilityDescriptions" : [
            "Random Access",
            "Supports Writing"
        ],
        "Caption" : "VBOX HARDDISK ATA Device",
        "ConfigManagerErrorCode" : 0,
        "ConfigManagerUserConfig" : "False",
        "CreationClassName" : "Win32_DiskDrive",
        "Description" : "Disk drive",
        "FirmwareRevision" : "1.0",
        "Index" : 1,
        "InterfaceType" : "IDE"
    }
]

低级别发现宏

尽管返回的 JSON 中没有创建低级别发现宏,但用户可以作为额外步骤,通过使用 自定义 LLD 宏 功能,并让 JSONPath 指向返回的 JSON 中已发现的值,来定义这些宏。

随后,这些宏可用于创建监控项、触发器等原型。