Usar a instrução let
As instruções Let associam nomes a expressões. No restante do escopo, quando a instrução let aparece, o nome se refere ao valor associado dela. As instruções Let melhoram a modularidade e a reutilização, já que elas permitem que você divida uma expressão potencialmente complexa em várias partes. Cada parte é associada a um nome por meio da instrução let e, juntas, elas compõem o todo. As instruções let permitem a criação de funções e exibições definidas pelo usuário. As exibições são expressões cujos resultados são semelhantes a uma nova tabela.
Declarar e reutilizar as variáveis
As instruções let permitem a criação de variáveis a serem usadas em instruções posteriores. Neste exemplo, timeOffSet e discardEventId são criados e usados como parte da cláusula "where" SecurityEvent.
let timeOffset = 7d;
let discardEventId = 4688;
SecurityEvent
| where TimeGenerated > ago(timeOffset*2) and TimeGenerated < ago(timeOffset)
| where EventID != discardEventId
Dica
"ago()" é uma função que usa a data e a hora atuais e subtrai o valor fornecido.
Declarar as tabelas ou listas dinâmicas
As instruções let permitem a criação de tabelas ou 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"