Korzystanie z instrukcji let

Ukończone

Instrukcje Let wiążą nazwy z wyrażeniami. W pozostałej części zakresu, w którym pojawia się instrukcja let, nazwa odwołuje się do jej powiązanej wartości. Instrukcje Let zwiększają modułowość i ponowne użycie, ponieważ umożliwiają one podzielenie potencjalnie złożonego wyrażenia na wiele części. Każda część jest powiązana z nazwą za pomocą instrukcji let i razem tworzą całość. Instrukcje Let umożliwiają tworzenie funkcji i widoków zdefiniowanych przez użytkownika. Widoki to wyrażenia, których wyniki wyglądają jak nowa tabela.

Deklarowanie i ponowne używanie zmiennych

Instrukcje Let umożliwiają tworzenie zmiennych do użycia w późniejszych instrukcjach. W tym przykładzie wartości timeOffSet i discardEventId są tworzone i używane jako część klauzuli SecurityEvent "where".

let timeOffset = 7d;
let discardEventId = 4688;
SecurityEvent
| where TimeGenerated > ago(timeOffset*2) and TimeGenerated < ago(timeOffset)
| where EventID != discardEventId

Napiwek

"ago()" to funkcja, która zajmie bieżącą datę i godzinę i odejmuje podaną wartość.

Deklarowanie tabel dynamicznych lub list

Instrukcje Let umożliwiają tworzenie tabel dynamicznych lub list.

let suspiciousAccounts = datatable(account: string) [
    @"\administrator", 
    @"NT AUTHORITY\SYSTEM"
];
SecurityEvent | where Account in (suspiciousAccounts)
let LowActivityAccounts =
    SecurityEvent 
    | summarize cnt = count() by Account 
    | where cnt < 1000;
LowActivityAccounts | where Account contains "SQL"