11 Обнаружение с использованием запросов WMI
Обзор
WMI — это мощный интерфейс в Windows, который можно использовать для получения различной информации о компонентах Windows, службах, состоянии и установленном программном обеспечении.
Его можно использовать для обнаружения физических дисков и сбора данных об их производительности, обнаружения сетевых интерфейсов, обнаружения гостевых систем Hyper-V, мониторинга служб Windows и многих других задач в ОС Windows.
Этот тип низкоуровневого обнаружения выполняется с помощью WQL-запросов, результаты которых автоматически преобразуются в 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 с JSONPath, указывающим на обнаруженные значения в возвращаемом JSON.
Затем эти макросы могут использоваться для создания прототипов элементов данных, триггеров и т. д.