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"