使用 let 语句
let 语句将名称绑定到表达式。 对于范围中出现了 let 语句的其余部分,名称可以引用其绑定值。 let 语句改善了模块化和重用,因为它们允许你将可能复杂的表达式分解为多个部分。 每个部分通过 let 语句绑定到名称,一起构成一个整体。 Let 语句允许创建用户定义函数和视图。 视图是结果类似于新表的表达式。
声明和重用变量
Let 语句允许创建变量以在后面的语句中使用。 此示例将创建 timeOffSet 和 discardEventId,并将其用作 SecurityEvent“where”子句的一部分。
let timeOffset = 7d;
let discardEventId = 4688;
SecurityEvent
| where TimeGenerated > ago(timeOffset*2) and TimeGenerated < ago(timeOffset)
| where EventID != discardEventId
提示
“ago()”是一个函数,它将采用当前的日期和时间,并减去提供的值。
声明 dynamic 表或列表
Let 语句允许创建 dynamic 表或列表。
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"