11 Wykrywanie przy użyciu zapytań WMI

Przegląd

WMI to potężny interfejs w systemie Windows, który może być używany do pobierania różnych informacji o komponentach Windows, usługach, stanie systemu oraz zainstalowanym oprogramowaniu.

Może być używany do wykrywania dysków fizycznych i zbierania danych o ich wydajności, wykrywania interfejsów sieciowych, wykrywania gości Hyper-V, monitorowania usług Windows oraz wielu innych zadań w systemie operacyjnym Windows.

Ten typ wykrywania niskiego poziomu jest realizowany przy użyciu zapytań WQL, których wyniki są automatycznie przekształcane w obiekt JSON odpowiedni do wykrywania niskiego poziomu.

Klucz pozycji

Pozycja używana w regule wykrywania to

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

Ta pozycja przekształca wynik zapytania w tablicę JSON. Na przykład:

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

może zwrócić coś takiego:

[
    {
        "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"
    }
]

Makra wykrywania niskiego poziomu

Mimo że w zwróconym JSON nie są tworzone żadne makra wykrywania niskiego poziomu, makra te mogą zostać zdefiniowane przez użytkownika jako dodatkowy krok, z użyciem funkcji niestandardowych makr LLD, gdzie JSONPath wskazuje na wykryte wartości w zwróconym JSON.

Makra te mogą następnie zostać użyte do tworzenia prototypów pozycji, wyzwalaczy itp.