使用自定义函数

适用于:

  • Microsoft Defender XDR

重要

某些信息与预发布的产品有关,在商业发布之前可能有重大修改。 Microsoft 对此处所提供的信息不作任何明示或默示的保证。

函数类型

函数是高级搜寻中的一种查询类型,可在其他查询中使用,就像它是命令一样。 可以创建自己的自定义函数,以便在环境中搜寻时重复使用任何查询逻辑。

高级搜寻中有三种不同类型的函数:

函数类型

  • 内置函数 – 预生成函数附带Microsoft Defender XDR高级搜寻。 它们在所有高级搜寻实例中都可用,无法修改。
  • 共享函数 - 用户创建的自定义函数,可供特定租户中的所有用户使用,可由用户修改和控制。
  • 我的函数 – 用户创建的自定义函数,只能由创建它的用户查看和修改。

编写自己的自定义函数

若要从编辑器中的当前查询创建函数,请选择“ 保存” ,然后选择“ 另存为函数”。

另存为函数

接下来,提供以下信息:

  • 名称 - 函数的名称。 只能包含数字、英文字母和下划线。 若要避免意外使用 Kusto 关键字,请以下划线或大写字母开头的函数名称开头或结尾。

  • 位置 - 要在其中保存函数的文件夹(共享的或专用的)。

  • 说明 - 可帮助其他用户了解函数的用途及其工作原理的说明。

  • 参数 - 为函数中的每个变量添加参数,该变量在使用时需要一个值。 向函数添加参数,以便在调用函数时为某些变量提供参数或值。 这允许在不同的查询中使用同一函数,每个查询允许为参数提供不同的值。 参数由以下属性定义:

    • 类型 - 值的数据类型
    • 名称 - 在查询中必须用来替换参数值的名称
    • 默认值 - 如果未提供值,则用于参数的值

    参数按创建顺序列出,其中没有列出默认值的参数高于具有默认值的参数。

“另存为函数”对话框

使用自定义函数

通过键入函数的名称以及任何参数的值,在查询中使用函数,就像在命令中键入一样。 函数的输出可以作为结果返回,也可以通过管道传递给另一个命令。

通过双击函数名称或选择函数右侧的三个点,然后选择“ 在查询编辑器中打开”,将函数添加到当前查询。

如果查询需要参数,请使用以下语法提供参数: function_name (参数 1、参数 2、...)

在查询编辑器中打开

注意

不能在另一个函数中使用函数。

使用函数代码

可以查看函数的代码,以便深入了解函数的工作原理或修改其代码。 选择函数右侧的三个点,然后选择“ 加载函数代码 ”以打开包含函数代码的新选项卡。

加载函数代码

编辑自定义函数

通过选择函数右侧的三个点并选择 “编辑详细信息”来编辑函数的属性。 对函数的属性和参数进行任何所需的修改,然后选择“ 保存”。

编辑函数代码

如果函数代码已加载到编辑器中,还可以选择“ 保存 ”以对函数的代码或属性应用任何更改。

注意

在保存的查询或检测规则中使用函数后,无法编辑该函数以扩展其范围。 例如,如果保存了查询标识表的函数,并且此函数用于检测规则,则无法编辑该函数以在事后包含设备表。 为此,可以保存一个新函数。 对于同一函数,可以缩小产品范围,但不能扩展。

删除自定义函数

可以从 My 函数和 在共享函数中创建的函数中删除函数。 除非具有安全数据管理权限,否则无法删除尚未创建的函数。

若要删除函数,请选择函数右侧的三个点,然后选择“ 删除”。

显示如何删除自定义函数的屏幕截图。

另请参阅

提示

想要了解更多信息? Engage技术社区中的 Microsoft 安全社区:Microsoft Defender XDR技术社区