Verwenden des summarize-Operators zum Filtern von Ergebnissen

Abgeschlossen

Die Funktionen „arg_max()“ und „arg_min()“ filtern die oberste bzw. unterste Zeile heraus.

arg_max-Funktion

Die folgende Anweisung gibt die neueste Zeile aus der SecurityEvent-Tabelle für den Computer „SQL10.NA.contosohotels.com“ zurück. Mit dem Sternchen (*) in der arg_max-Funktion werden alle Spalten für die Zeile angefordert.

SecurityEvent 
| where Computer == "SQL10.na.contosohotels.com"
| summarize arg_max(TimeGenerated,*) by Computer

arg_min-Funktion

In dieser Anweisung wird das älteste Sicherheitsereignis (SecurityEvent) für den Computer „SQL10.NA.contosohotels.com“ als Resultset zurückgegeben.

SecurityEvent 
| where Computer == "SQL10.na.contosohotels.com"
| summarize arg_min(TimeGenerated,*) by Computer

Noch einmal die Ergebnispipe

Die Reihenfolge, in der Ergebnisse das Pipezeichen passieren, ist wichtig. Sehen Sie sich die beiden folgenden KQL-Anweisungen an. Wie unterscheiden sich die Resultsets?

Führen Sie jede Abfrage separat aus, um die Ergebnisse anzuzeigen.

// Statement 1

SecurityEvent
| summarize arg_max(TimeGenerated, *) by Account
| where EventID == "4624"

// Statement 2

SecurityEvent
| where EventID == "4624"
| summarize arg_max(TimeGenerated, *) by Account

Die Anweisung 1 enthält Konten, bei denen die letzte Aktivität eine Anmeldung war.

Die SecurityEvent-Tabelle wird zusammengefasst und gibt die neueste Zeile für jedes Konto zurück. Dann werden nur Zeilen zurückgegeben, bei denen die Ereignis-ID (EventID) den Wert 4624 (Anmeldung) hat.

Die Anweisung 2 verfügt über die neueste Anmeldung für Konten, die sich angemeldet haben.

Die SecurityEvent-Tabelle wird nur nach „EventID = 4624“ gefiltert. Anschließend werden diese Ergebnisse für die neueste Anmeldezeile nach Konto zusammengefasst.