脚本化条件

在此部分:

关于脚本条件

使用脚本条件创建、导入和导出使用 VBScript、JScript 和 PowerShell 的条件。您可以使用脚本条件来满足 Application Control 控制台中不可作为标准使用的场景。例如,检查 Windows 防火墙是否打开。

脚本保存在 AAMP 配置中,在运行时复制到磁盘,执行,然后在完成时删除。可以导入和导出脚本以实现重复使用。

注意:大型脚本和大量脚本会增加 AAMP 配置的大小,这会影响将配置部署到端点所需的时间,并影响配置执行时间。

因为条件脚本在批处理模式下运行,所以不会显示任何提示或消息框,且脚本在未执行的情况下超时。要确保条件脚本正确运行,请从脚本中删除任何提示或消息框,或对其进行注释。

在创建脚本条件时,确保预留足够的时间以运行脚本并评估任何其他条件。Application Control 的超时时间为 10 秒,可用于评估自定义规则的任何条件。如果在 10 秒内未评估所有条件,则不应用自定义规则。此外,还会同步评估条件。也就是说,当触发表达式评估时,代理会在评估下一条件之前等待脚本完成。代理将暂停应用自定义规则,直到所有条件的评估完成或超时为止。因此,即使您将脚本条件的运行时间配置为小于 10 秒,如果还需评估其他条件且时间已不够,那么评估仍可能超时。

Windows PowerShell 脚本使用多种执行策略,这些策略可以阻止脚本运行,或者仅允许受信任的发布者签名的脚本运行。Application Control将覆盖执行策略并绕过任何限制,以使 PowerShell 脚本能够运行。

Application Control 与 PowerShell 2.0 或更高版本兼容。
所需版本将取决于您使用的操作系统。Windows XP 和 Server 2003 需要 PowerShell 2.0。Windows Server 2008 R2 SP1 x64 和 Windows 7 SP1 需要 PowerShell 3.0。最新的操作系统将需要 PowerShell 3.0 或更高版本。

退出代码

脚本条件的所有脚本都必须指定一个退出代码,当返回时,Application Control 代理将使用该代码来确定脚本是通过还是失败。对于没有退出代码的脚本,代理将假定其成功(0 值)。

每种脚本类型必须使用特定的退出声明:

语言

退出声明

VBScript

WScript.Quit [value]

JScript

WScript.Quit([value])

PowerShell

exit ([value])

用脚本的退出代码替换 [value]:0 表示成功,1 表示失败。例如:WScript.Quit 0、WScript.Quit(0)、exit (0)。对于 Powershell 脚本,任何非零值都表示失败。

创建脚本化条件

  1. 选择“自定义”规则的节点。
  2. 在规则的工作区中,打开“条件”下拉菜单并选择脚本

    将显示“脚本条件”对话框。

  3. 选择脚本类型PowerShellVBScriptJScript
  4. 运行滚动框中,设置允许脚本运行的时间。

    时间以秒计,脚本将在计时结束后终止。您可以输入的最大值为 10 秒。将值设置为 0 或将字段留空表示脚本完成时间为无限。但是,如果脚本评估条件的时间超过 10 秒,则其超时并且不应用自定义规则。

    脚本条件覆盖默认节点和条件超时,但不覆盖 10 秒超时以评估条件。此值为硬编码

  5. 单击选项下拉菜单并根据需要配置以下选项:
    • 每次会话评估一次 - 选择此选项可运行一次评估,并在会话期间缓存结果。否则,每次在配置中调用该条件时都会对其进行评估。
    • 作为系统用户运行 - 选择此选项允许脚本使用当前登录用户无法访问的功能。
  6. 使用以下方法之一输入脚本:
    • 直接键入字段
    • 从另一个位置拖放或复制粘贴。
    • 单击“导入”按钮,然后选择要在脚本字段中打开和使用的文件。
  7. 单击确定保存脚本。

触发后,脚本运行至完成,条件成功或失败的结果将详细记录在调试日志文件中。

超时的脚本将被归类为失败,任何子节点及其相关联的操作都不会运行。

导出条件脚本

可以从“脚本条件”对话框中导出和保存脚本,并将其导入到其他条件和配置中。

  1. 单击“导出”按钮,然后选择保存文件的位置。
  2. 单击保存完成导出。

相关主题