脚本化规则

在此部分:

关于脚本化规则

脚本规则允许使用 Windows PowerShell 或 VB 脚本创建自定义规则。脚本的成功或失败决定了作为规则一部分的“安全级别”、“允许的项目”和“拒绝的项目”是否适用于用户。

脚本规则可以利用任何通过 PowerShell 或 VBScript 访问的接口,例如 COM(组件对象模型),并且每个脚本可在以下环境下接受评估:

  • 将新配置部署到计算机时。
  • 用户登录时。

您可以在“脚本规则”对话框中创建和编辑脚本,访问方式如下:

  1. 在“规则”功能区中,选择添加规则
  2. 在下列菜单中,选择脚本规则

    将显示“脚本规则”工作区。

您可以使用以下脚本规则选项来定义脚本何时运行:

  • 作为已登录用户每个登录会话运行一次脚本 - 对于登录的每个用户,脚本均运行一次。设置仅适用于用户会话的时间。请注意,如果桌面解锁,脚本也将运行。
  • 作为系统用户每个登录会话运行一次脚本 - 对于登录的每个用户,脚本均使用系统帐户权限运行一次。设置仅适用于用户会话的时间。
  • 作为系统用户按计算机运行一次脚本 - 脚本在计算机启动时使用系统帐户权限运行一次。设置适用于所有用户会话,直到计算机重新启动、Application Control 代理重新启动或配置发生更改为止。

    注意:作为系统用户运行脚本可能会对计算机造成严重损坏,只能由有经验的脚本作者启用。

  • 用户登录完成之前,请勿执行脚本 - 选择此选项可在用户登录完成之前阻止脚本运行。

  • 在脚本超时前等待 <n> 秒 - 允许您指定脚本在超时之前可继续运行的秒数。设置为零 (0) 秒时可防止脚本超时。如果发生超时,则结果为“失败”且无法应用设置。

VBScripts

每个脚本都在托管脚本引擎中运行,允许对脚本执行进行更有效的控制,同时提供高度的输入和输出控制。

  • 不使用 VBS 文件。
  • 没有生成单独的进程。

脚本必须作为函数编写,并且可以包含许多函数,但是必须指定一个主启动函数。启动函数由 Application Control 代理运行,可用于调用其他函数。

AMScriptRule COM 对象内置在脚本引擎中,并提供对以下方法的访问:

  • strUsername = AMScriptRule.UserName
  • strUserdomain = AMScriptRule.UserDomain
  • strSessionid = AMScriptRule.SessionID
  • strStationname = AMScriptRule.WinStation

    此实例中的 Microsoft standard 表示 WinStation 返回终端服务会话名称的值,其由会话的类型决定,典型值是 ’Console’ 或 ’RDP-Tcp#34’,而不是窗口站的名称(通常为 WinSta0)。

AMScriptRule COM 对象还包括以下方法:

  • strLog = AMScriptRule.Log "My Log Statement"

    允许您将记录字符串输出到代理日志文件中,以用于调试脚本规则。

  • strEnvironmentvar = AMScriptRule.ExpandEnvironment ("%MyEnvironmentVariables%")

    展开运行脚本的用户的环境变量。

使用 WScript.shell 展开环境变量仅返回 SYSTEM 变量。

Windows PowerShell 脚本

如果脚本以值 0 返回(退出),则脚本将通过并且应用规则。如果返回任何非零值,则脚本将失败并且不应用规则。

每个 PowerShell 脚本都在 PowerShell.exe 的实例中执行,因此 Application Control 既不强制执行也不添加任何特定语法,所有格式正确的 PowerShell 都将正常工作。

PowerShell 必须安装在任何将使用脚本的端点上。

添加脚本化规则

  1. 选择“规则”功能区上的添加规则下拉箭头,然后选择脚本规则

    在“所有脚本规则”工作区中添加一条新规则。将显示脚本化规则对话框。

  2. 要输入脚本,请执行以下操作之一:
    • 在当前脚本区域中键入脚本。
    • 在脚本编辑器中打开现有脚本,复制/剪切内容并粘贴。
  3. 选择单击此处编辑脚本。单击导入以导入现有脚本。

编辑脚本规则

  1. 使用“脚本规则”对话框创建和维护基于自定义 VB 和 PowerShell 脚本的规则,这些脚本在用户登录时运行。
  2. 要打开特定规则的“脚本规则”对话框,您可以:
    • 导航至导航窗格中的“脚本规则”并选择它。
    • 在导航树中选择规则节点。在“所有规则”对话框中,双击要编辑的规则。

    将显示“脚本化规则”对话框。

  3. 单击单击此处编辑脚本

    将显示“配置此脚本规则”对话框。

  4. 在“脚本”选项卡中,添加或修改用户登录时使用的脚本。
  5. 在“选项”选项卡中,从“定义执行设置”部分中的可用选项列表中选择“脚本执行设置”。
  6. 要指定脚本时间设置,请在“定义脚本时间设置”部分中选择相应选项。
  7. 单击确定

示例脚本

相关主题