如何在KQL中正确使用in for字符串列表

use*_*793 5 kql

以下代码有效

let names = dynamic(['Windows Installer', 'Software Protection']);

ConfigurationChange
| where Computer like "SRV"
| where SvcPreviousState  == "Running"
| where SvcState == "Stopped"
// | where SvcDisplayName in (names)
| order by TimeGenerated
Run Code Online (Sandbox Code Playgroud)

正如注释掉的那样,我只想检查 SvcDisplayName 的列表。

根据文档,这应该有效,但确实会抱怨

: Failed to resolve table or column or scalar expression named 'names'
Run Code Online (Sandbox Code Playgroud)

我如何正确使用 SvcDisplayName 列表?

Dav*_*itz 6

空行被视为查询之间的分隔符,除非您选择执行整个代码。
请参阅下面的屏幕截图。

选择整个代码来执行。
=> 有效查询

选择要执行的代码

将光标放在要执行的查询上。
语句后没有空行let
=> 有效查询

将光标放在要执行的查询上 - 没有空行

将光标放在要执行的查询上。
语句后有一个空行let
=> 无效查询

请注意查询是如何用淡蓝色标记的,而不是let语句

将光标放在要执行的查询上 - 带空行