11 利用WMI查询执行自动发现

概述

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

WMI可用于物理硬盘的自动发现和相关性能数据的采集、网络接口的自动发现、Hyper-V guest的自动发现、监控Windows操作系统中的服务和其它实体。

此类低级别 自动发现 通过使用WQL查询实现,其结果会自动转换成一个匹配低级别自动发现的JSON格式的JSON对象。

监控项键值

发现规则中使用的监控项是

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 宏功能并通过指向返回 JSON 中已发现值的 JSONPath,将这些宏定义为一个附加步骤。

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