Uso de la instrucción Let

Completado

Las instrucciones Let enlazan nombres a expresiones. Para el resto del ámbito en el que aparece la instrucción Let, el nombre hace referencia a su valor enlazado. Las instrucciones Let mejoran la modularidad y la reutilización, ya que permiten dividir una expresión potencialmente compleja en varias partes. Cada elemento está enlazado a un nombre a través de la instrucción Let y juntos constituyen un todo. Las instrucciones Let permiten crear vistas y funciones definidas por el usuario. Las vistas son expresiones cuyos resultados se parecen a una nueva tabla.

Declaración y reutilización de variables

Las instrucciones Let permiten crear variables para que se usen en instrucciones posteriores. En este ejemplo, timeOffSet y discardEventId se crean y usan como parte de la cláusula "where" de SecurityEvent.

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

Sugerencia

"ago()" es una función que adoptará la fecha y hora actuales y restará el valor proporcionado.

Declaración de tablas o listas dinámicas

Las instrucciones Let permiten crear tablas o listas dinámicas.

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"