Ansichten:
Hinweis
Hinweis
Das Integritätsüberwachungsmodul durchsucht nach unerwarteten Änderungen in Verzeichnissen, Registrierungswerten, Registrierungsschlüsseln, Diensten, Prozessen, installierter Software, Ports, Gruppen, Benutzern, Dateien und der WQL-Abfrageanweisung auf Agenten. Um die Integritätsüberwachung zu aktivieren und zu konfigurieren, siehe Einrichten der Integritätsüberwachung.
Das WQLSet-Element beschreibt eine Ergebnismenge aus einer Windows Management Instrumentation WQL-Abfrageanweisung. WQL ermöglicht SQL-ähnliche Abfragen gegen viele verschiedene Objektklassen, wobei die Ergebnisse eine Tabelle von Zeilen bilden, in der jede Zeile ein Objekt darstellt und jede Spalte den Wert eines bestimmten Attributs des Objekts repräsentiert.
Hinweis
Hinweis
Viele WMI-Abfragen verbrauchen viel Zeit und Computerressourcen. Es ist leicht, versehentlich eine Abfrage auszuführen, die mehrere Minuten dauert und Tausende von Zeilen zurückgibt. Es wird dringend empfohlen, alle Abfragen vor der Verwendung in einem WQLSet mit einem Programm wie Powershell oder WMI Explorer zu testen.
Attribut
Beschreibung
Erforderlich
Standardwert
Zulässige Werte
Namensraum
Legt den Namespace der WMI-Abfrage fest.
Ja
N/A
Zeichenfolgen, die einen gültigen WMI-Namespace darstellen. Der Namespace "root\cimv2" wird am häufigsten verwendet, wenn Objekte des Windows-Betriebssystems abgefragt werden, aber auch andere wie "root\directory\LDAP" und "root\Microsoft\SqlServer\ComputerManagement" können verwendet werden. Siehe hier für ein kleines Skript namens GetNamespaces.vbs, das die verfügbaren WMI-Namespaces auf einem bestimmten Computer auflistet.
wql
Eine WQL-Abfragezeichenfolge.
Ja
N/A
Ein gültiger WQL-String. Die Abfrage muss das __Path-Attribut für jedes zurückgegebene Objekt enthalten; der Agent verwendet das __Path-Attribut als Entitätsschlüssel beim Speichern und Berichten von Ergebnissen, daher muss jedes zurückgegebene WMI-Objekt ein __Path enthalten. Wenn Sie eine Abfragezeichenfolge wie "SELECT \* FROM ..." verwenden, ist das __Path-Attribut verfügbar, aber wenn Sie eine selektivere Abfrage wie "SELECT Name FROM ..." verwenden, müssen Sie __Path explizit einbeziehen, indem Sie die Abfrage als "SELECT __Path,Name FROM ..." schreiben.
onChange
Ob die zurückgegebenen Dateien in Echtzeit überwacht werden sollen.
No
false
true, false
Anbieter
Gibt optional einen alternativen WMI-Namespace-Anbieter an, der verwendet werden soll.
No
Keine
RsopLoggingModeProvider Derzeit ist dies nur für Gruppenrichtlinienabfragen erforderlich/unterstützt, und "RsopLoggingModeProvider" ist der einzige unterstützte Wert. Gruppenrichtlinienabfragen sind besonders, da empfohlen wird, den RsopLoggingModeProvider zu verwenden, um einen Schnappschuss der Richtliniendaten zu erstellen, die auf einem Computer vorhanden sind. Wenn Sie einen Schnappschuss der Richtliniendaten erstellen, kann die Abfrage gegen einen konsistenten Satz von Daten durchgeführt werden, bevor das System diese während einer Aktualisierung der Richtlinie überschreibt oder löscht. Das Erstellen eines Schnappschusses erstellt tatsächlich einen neuen WMI-Namespace, daher sollte beim Verwenden von provider="RsopLoggingModeProvider" in einem WQLSet das Namespace-Attribut das Suffix angeben, das dem erstellten Namespace hinzugefügt werden soll. Zum Beispiel wäre ein typischer temporärer Namespace, der vom RsopLoggingModeProvider erstellt wird, "\\.\Root\Rsop\NS71EF4AA3_FB96_465F_AC1C_DFCF9A3E9010". Geben Sie namespace="Computer" an, um "\\.\Root\Rsop\NS71EF4AA3_FB96_465F_AC1C_DFCF9A3E9010\Computer" abzufragen. Da der temporäre Namespace ein einmaliger Wert ist, behindert er die Fähigkeit des Agents, Änderungen zu erkennen, da der Wert im Entitätsschlüssel erscheint. Um dies zu vermeiden, entfernt der Agent den Teil des zurückgegebenen __Path-Werts nach \Rsop\ und bis zum nächsten Backslash, wenn der RsopLoggingModeProvider verwendet wird. Entitätsschlüssel werden daher Präfixe wie "\\.\Root\Rsop\Computer" anstelle von "\\.\Root\Rsop\NS71EF4AA3_FB96_465F_AC1C_DFCF9A3E9010\Computer" haben
Zeitüberschreitung
Gibt ein zeilenweises Timeout in Millisekunden an.
No
5000
1-60000 Die WMI-Abfrage wird im semisynchronen Modus durchgeführt, wobei Ergebnisszeilen einzeln abgerufen werden und ein Timeout für das Abrufen einer einzelnen Zeile besteht. Wenn dieser Parameter nicht angegeben ist, wird 5000 (5 Sekunden) als Timeout-Wert verwendet.

Entitätensatzattribute

Jede "Zeile", die von der WQL-Abfrage zurückgegeben wird, wird für die Zwecke der Integritätsüberwachung als eine einzelne Entität behandelt, wobei die zurückgegebenen Spalten die Attribute der Entität darstellen. Da WMI/WQL eine offene Spezifikation ist, gibt es keine festgelegte Liste verfügbarer oder unterstützter Attribute. Die Abfrage und das Schema des abgefragten WMI-Objekts bestimmen die überwachten Attribute.
Zum Beispiel, der WQLSet:
<WQLSet namespace="Computer" wql="select * from RSOP_SecuritySettings where precedence=1" provider="RsopLoggingModeProvider" />
wird Attribute von zurückgeben:
ErrorCode, GPOID, KeyName, SOMID, Setting, Status, id, precedence
wobei ein WQLSet, das Netzwerkadapter abfragt, wie zum Beispiel:
<WQLSet namespace="root\cimv2" wql="select * from Win32_NetworkAdapter where AdapterTypeId = 0" />
werden Attribute zurückgeben wie:
AdapterType, AdapterTypeId, Availability, Caption, ConfigManagerErrorCode, ConfigManagerUserConfig, CreationClassName Description, DeviceID, Index, Installed, MACAddress, Manufacturer, MaxNumberControlled, Name, PNPDeviceID, PowerManagementSupported, ProductName, ServiceName, SystemCreationClassName, SystemName, TimeOfLastReset
Um die Belastung des Agents zu reduzieren, ist es ratsam, explizit nur die Attribute einzubeziehen, die überwacht werden müssen, anstatt "select * ..." in Abfragen zu verwenden. Dies hat auch den Vorteil, dass Änderungen am WMI-Schema zum Hinzufügen oder Entfernen von Attributen nicht als Änderungen am Objekt gemeldet werden, es sei denn, die Attribute sind Teil des überwachten Satzes. Mit "select * from Win32_Foobar" würde ein Patch für Windows, der ein neues Attribut zur Win32_Foobar-Objektklasse hinzufügt, dazu führen, dass der nächste Integritätsdurchlauf eine Änderung für jedes Objekt dieser Klasse meldet, da ein neues Attribut erschienen ist.
Im Folgenden sind einige Beispiel-WMI-Abfragen aufgeführt, die gewünschte Windows-Systementitäten zurückgeben:
Abfrage für unter Windows eingehängte Speichergeräte: (die Auswahl von * führt typischerweise dazu, dass 80 % der zurückgegebenen Attribute null oder doppelte Werte sind)
<WQLSet namespace="root\cimv2" wql="SELECT __Path,DeviceID,VolumeName,VolumeSerialNumber,DriveType,FileSystem,Access,MediaType,Size,FreeSpace FROM Win32_LogicalDisk" />
Um die vorherige Abfrage zu erweitern, kann der DriveType angegeben werden, um nur bestimmte Arten von eingebundenen logischen Speichergeräten zu isolieren, wie beispielsweise Typ 2, der ein "Wechseldatenträger" ist (wie ein entfernbares USB-Speicherlaufwerk)
<WQLSet namespace="root\cimv2" wql="SELECT __Path,DeviceID,VolumeName,VolumeSerialNumber,DriveType,FileSystem,Access,MediaType,Size,FreeSpace FROM Win32_LogicalDisk WHERE DriveType=2" />
(Siehe hier für Details zur Win32_LogicalDisk-Klasse)
USB Storage Device notes: U3 USB-Geräte werden sowohl ein Typ 2 "Wechseldatenträger"-Gerät als auch ein Typ 3 "Compact Disc"-Gerät einbinden. Außerdem bezieht sich die obige Abfrage nur auf Speichergeräte. USB-Nicht-Speichergeräte werden nicht einbezogen. USB-Speicherkartenadapter können als Typ 1 "Kein Stammverzeichnis"-Gerät erscheinen. Ein fehlerhaftes oder mit Windows inkompatibles USB-Speichergerät kann als Typ 1 "Unbekannt"-Gerät erscheinen.
Abfrage aller bekannten Systemverzeichnisse, bei denen das Laufwerk "F:" ist, für relevante Attribute:
<WQLSet namespace="root\cimv2" wql="SELECT __Path,CreationDate,LastAccessed,LastModified,Drive,Path,FileName,Caption,FileType,Readable,Writeable FROM Win32_Directory WHERE Drive='F:'" />
Abfrage aller bekannten Systemdateien, bei denen das Laufwerk "F:" für relevante Attribute ist:
<WQLSet namespace="root\cimv2" wql="SELECT __Path,CreationDate,LastAccessed,LastModified,Drive,Path,FileName,Name,FileType,Readable,Writeable FROM CIM_DataFile WHERE Drive='F:'" />

Bedeutung des Schlüssels

Der Schlüssel ist das "__Path"-Attribut des zurückgegebenen WMI-Objekts, das in der Regel die Form hat:
SystemName\Namespace:WmiObjectClass.KeyAttribute=Value[,KeyAttribute=Value...]
Einige Beispiele:
\TEST-DESK\root\cimv2:Win32_QuickFixEngineering.HotFixID="KB958215-IE7",ServicePackInEffect="SP0"
\TEST-DESK\ROOT\Rsop\NSF49B36AD_10A3_4F20_9541_B4C471907CE7\Computer:RSOP_RegistryValue.
Path="MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\LegalNoticeText",precedence=1
\TEST-DESK\root\cimv2:BRCM_NetworkAdapter.DeviceID="8"

Einbeziehen Ausschließen

Siehe Integritätsüberwachungsregeln-Sprache für eine allgemeine Beschreibung von "include" und "exclude" bezüglich ihrer erlaubten Attribute und Unterelemente.
Für WQLSet sollten die Unterelemente "include" und "exclude" in der Regel nicht erforderlich sein. Es ist vorzuziehen, WQL zu verwenden, um die genaue Menge der zu überwachenden Objekte anzugeben, da dies die Arbeitsbelastung sowohl für den Agenten als auch für die WMI-Implementierung des Computers begrenzt.
Die Verwendung von Include- oder Exclude-Subelementen kann nur die Menge der durch die Abfrage zurückgegebenen Objekte reduzieren; die WQL muss geändert werden, um zusätzliche Objekte zurückzugeben. Wenn es notwendig ist, Include- oder Exclude-Elemente zu verwenden, um die WQL-Ergebnisse weiter einzuschränken, können "*" und "?" als einfache Platzhalter verwendet werden, um mit den Werten des Entitätsschlüssels übereinzustimmen.