Použití příkazu let
Příkazy Let sváže názvy s výrazy. Pro zbytek oboru, kde se příkaz let zobrazí, název odkazuje na jeho vázanou hodnotu. Příkazy let zlepšují modularitu a opakované použití, protože umožňují rozdělit potenciálně složitý výraz na více částí. Každá část je svázaná s názvem prostřednictvím příkazu let a společně tvoří celek. Příkazy Let umožňují vytvářet uživatelem definované funkce a zobrazení. Zobrazení jsou výrazy, jejichž výsledky vypadají jako nová tabulka.
Deklarace a opakované použití proměnných
Příkazy Let umožňují vytváření proměnných, které se mají použít v pozdějších příkazech. V tomto příkladu se vytvoří timeOffSet a discardEventId a použijí se jako součást klauzule SecurityEvent "where".
let timeOffset = 7d;
let discardEventId = 4688;
SecurityEvent
| where TimeGenerated > ago(timeOffset*2) and TimeGenerated < ago(timeOffset)
| where EventID != discardEventId
Tip
"ago()" je funkce, která vezme aktuální datum a čas a odečte zadanou hodnotu.
Deklarace dynamických tabulek nebo seznamů
Příkazy Let umožňují vytváření dynamických tabulek nebo seznamů.
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"