11 Откривање помоћу WMI упита

Преглед

WMI је моћан интерфејс у Windows-у који се може користити за преузимање разне информације о Windows компонентама, услугама, стању и инсталиран софтвер.

Може се користити за откривање физичког диска и податке о њиховим перформансама збирка, откривање мрежног интерфејса, откривање гостију Hyper-V, надгледање Windows услуга и многих других ствари у Windows OS-у.

Ова врста ниског нивоа откривање се ради помоћу 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-у.

Макрои се затим могу користити за креирање прототипова ставки, окидача итд.