自定义条件

在此部分:

关于自定义条件

使用自定义条件来创建、导入和导出使用 PowerShell、Visual Basic 或 Java Script 的条件。自定义条件可用于满足在 Environment Manager 控制台中无法以标准方式实现的场景。例如,检查 Windows 防火墙是否打开。

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

大型脚本和大批量脚本会增加 AEMP 配置的大小,这会影响将配置部署到端点所需的时间,并影响配置执行时间。
建议不要将使用 PowerShell 脚本的自定义条件用在“登录”触发器上,因为运行这些脚本可能会导致登录速度变慢。

由于自定义条件脚本在批处理模式下运行,因此不会显示任何提示或消息框,并且脚本会因超时而无法执行。要确保条件脚本正确运行,请从脚本中删除或注释掉任何提示或消息框。

自定义条件可以应用于计算机和用户触发器。

退出代码

所有自定义脚本都必须指定一个退出代码,返回后,Environment Manager 代理会使用该代码来确定脚本是通过还是失败。对于没有退出代码的脚本,代理将假定其成功(0 值)。每种脚本类型必须使用特定的退出语句。

语言 退出声明
VBScript WScript.Quit [value]
JScript WScript.Quit([value])
PowerShell exit ([value])

用脚本的退出代码替换 [value]:0 表示成功,1 表示失败。例如:WScript.Quit 0、WScript.Quit(0)、exit (0)。

PowerShell 脚本

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

您还可以通过组策略来设置用户和计算机的执行策略,这些策略将覆盖所有 PowerShell 执行策略。如果 PowerShell 自定义条件以系统身份运行,则不允许执行任何脚本或仅允许执行签名脚本的用户策略不会影响到该操作的运行。但是,如果该条件以当前用户身份运行,则用户策略将不允许执行脚本,自定义条件也将失败。不允许执行任何脚本或仅允许执行签名脚本的计算机策略不会允许任何 PowerShell 自定义条件运行。

因此,要成功运行使用 PowerShell 的自定义条件,必须将组策略设置为允许为用户和计算机运行这些脚本。

Environment Manager 与 PowerShell 1.0、2.0 和 3.0 版本兼容。

创建自定义条件

  1. 在“策略配置”导航树中,选择要添加条件的节点或触发器。这可以是:
    • 新节点
    • 现有节点
    • 触发器的“环境”选项卡
  2. 在“条件”功能区中,选择自定义以显示“自定义条件”对话框。
  3. 选择脚本类型PowerShellVBScriptJScript
  4. 设置允许运行的时间。时间以秒计,脚本将在计时结束后终止。将值设置为 0 或将字段留空表示脚本完成时间不受限制。

    自定义条件将覆盖默认节点和条件超时。

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

    会话变量可通过“插入”菜单添加到脚本中。下拉列表包含所有用户定义的会话变量和以下内置变量:

    • SessionID - 当前的会话 ID
    • UserSID - 用户的安全标识符
    • UserTemp - 用户临时目录的位置
  7. 在“网络可用”、“网络已连接”和“网络连接已断开”触发器上,可以将更多内置会话变量添加到脚本中,以确定连接特性。这些内置会话变量无法修改或删除。
  8. 单击确定保存脚本。

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

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

导出自定义脚本

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

  1. 打开自定义条件。
  2. 单击导出按钮 导出自定义条件按钮,然后选择保存 PowerShell、VBS 或 JS 文件的位置。
  3. 单击保存完成导出。

相关主题