Usare l'istruzione let
Le istruzioni let associano i nomi alle espressioni. Per la parte restante dell'ambito in cui appare l'istruzione let, il nome fa riferimento al relativo valore associato. Le istruzioni let migliorano la modularità e le possibilità di riutilizzo perché consentono di suddividere in più parti un'espressione potenzialmente complessa. Ogni parte è associata a un nome tramite l'istruzione let e la combinazione delle parti costituisce l'intero elemento. Le istruzioni let consentono di creare viste e funzioni definite dall'utente. Le viste sono espressioni i cui risultati hanno l'aspetto di una nuova tabella.
Dichiarare e riutilizzare le variabili
Le istruzioni let consentono di creare variabili da usare nelle istruzioni successive. In questo esempio le variabili timeOffSet e discardEventId vengono create e usate come parte della clausola "where" SecurityEvent.
let timeOffset = 7d;
let discardEventId = 4688;
SecurityEvent
| where TimeGenerated > ago(timeOffset*2) and TimeGenerated < ago(timeOffset)
| where EventID != discardEventId
Suggerimento
"ago()" è una funzione che accetta la data e l'ora correnti e sottrae il valore fornito.
Dichiarare tabelle o elenchi dinamici
Le istruzioni let consentono di creare tabelle o elenchi dinamici.
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"