使用 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()" 函數是以目前日期和時間減去提供的值。

宣告動態資料表或清單

Let 陳述式可供建立動態資料表或清單。

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"