如何使用 Defender for Endpoint Rest 使用 PowerShell 将变量传递给高级搜索查询 API

How to pass a variable to advanced hunting query using PowerShell utilizing Defender for Endpoint Rest API

我正在运行使用 Microsoft Defender for Endpoint rest API 通过 PowerShell 进行以下高级搜索查询(一种 Kusto 查询)。

$query = "let letter = 'b';
          DeviceTvmSoftwareInventory
          | where SoftwareVendor startswith letter
          | project DeviceName, OSPlatform, SoftwareVendor, SoftwareName, SoftwareVersion"

它按原样工作,但我需要将一个变量传递给查询 运行 针对一系列不同值(即变量)的查询而不是硬编码字符串(即 'b').

我试图在查询之外定义一个 PowerShell 变量并在查询中引用它,但它不起作用。

如何将 PowerShell 变量传递给此查询?我该如何克服这个问题?

谢谢

遍历值数组。

$Values = @('a', 'b', 'c')
$Values |
    ForEach-Object {
        $query = "let letter = '$_';
            DeviceTvmSoftwareInventory
            | where SoftwareVendor startswith letter
            | project DeviceName, OSPlatform, SoftwareVendor, SoftwareName, SoftwareVersion"
    }