触发器

在此部分:

关于触发器

Environment Manager 控制台中的触发器表示常见的计算机和用户事件,如“启动”、“登录”和“会话已断开”。它们是“策略配置”导航树中的静态元素,无法编辑、移动或删除。Environment Manager 配置是围绕触发器相关的事件构建的。节点创建在包含条件和操作的触发器中。这将在触发器、条件和操作之间创建依赖关系。激发触发器后,系统将验证存在的所有条件,如果满足,则将执行操作。

例如:

触发器 条件 操作
计算机启动 计算机 > 计算机 IP 地址 文件和文件夹 > 修改文件特性

在以下示例中,包含条件和相关操作的“隐藏”节点已添加到“启动”触发器中。启动受管端点后,Environment Manager 代理将检查 IP 地址是否介于 100.100.100.100 和 123.123.123.123 之间。如果是,Word 文档 Test.docx 将变为隐藏文件。如果端点不满足条件,则 Word 文档属性将保持不变。

触发器示例

选中后,显示在工作区的每个触发器都包含两个选项卡:“环境”和“摘要”。“摘要”选项卡包含触发器内容的概述,并显示各个节点、其状态(已启用或已禁用)以及关联操作的数量。

触发器位于“策略配置”导航树的两个固定节点中:“计算机”节点和“用户”节点。

“计算机”触发器

触发器 说明
启动 在计算机启动时执行操作。可用于为组织内的所有标准计算机创建通用映像。
网络可用 在网络可用后立即执行操作。对于执行 AD 查找的条件或从网络位置复制文件的操作等项目,此触发器非常有用。由于网络当时不一定可用,因此这些项目不一定能够在“启动”触发器中正常运行。
关闭 在计算机关闭时执行操作。
进程已启动 在进程启动时执行此触发器中的操作。
进程已停止 在进程停止时执行此触发器中的操作。

“用户”触发器

触发器 说明
登录 操作在用户登录到系统但桌面外壳程序尚未启动时生效。

由于智能卡读卡器的兼容性问题,使用智能卡登录时不会运行登录操作。这会影响 Windows 7 和 Windows 2008 R2 操作系统。

登录 > 会话前 操作在终端服务收到登录通知前生效。“注册表”、“组策略”和“环境”操作与此子触发器兼容。升级期间,先前位于“登录”触发器的“环境”选项卡中的操作会移至此处。
登录 > 桌面创建前 操作在用户登录到系统但桌面外壳程序尚未启动时生效。升级期间,先前位于“登录”触发器中的操作会移至此处。
登录 > 桌面创建后 操作在桌面外壳程序和资源管理器均已启动后生效。为了提高效率并缩短登录时间,应将所有非关键“登录”操作添加到此触发器中,例如映射驱动器和打印机。
注销 在用户注销时执行关联操作。Environment Manager 注销操作在“组策略”脚本及所有登录后操作完成后运行。强制注销后,登录后操作仍会运行直至完成,随后才会运行任何注销操作。

如果使用远程桌面协议 v6.0,请使用“会话断开连接”触发器进行注销操作,因为远程应用程序过程不会注销,只会断开连接。

进程已启动 在进程启动时执行此触发器中的操作。

如果使用 Environment Manager 和流式应用程序,请参阅流式应用程序

进程已停止 在进程停止时执行此触发器中的操作。
网络已连接 此触发器中的操作和条件在每台物理或虚拟网络适配器均建立连接后执行。如果在配置中定义了个性化服务器,则还会在激发触发器后执行个性化配置轮询。触发器在检测到网络时激发。如果网络类别为“未知”,则不会激发触发器。
网络连接已断开 此触发器中的操作和条件在每台物理或虚拟网络适配器均断开连接后执行。即使网络类别为“未知”也会激发触发器。例如,这可能是因为域控制器已停止工作或无线连接超出范围。
会话已重新连接 此触发器中的操作在用户断开的会话重新连接后执行。
会话已断开 此触发器中的操作在用户的实时会话断开连接后执行。
会话已锁定 此触发器中的操作在用户的桌面锁定后执行。
会话已解锁 此触发器中的操作在用户的桌面解锁后执行。

“会话已锁定”和“会话已解锁”触发器不会应用于已发布的应用程序。这两个触发器只会应用于正在运行应用程序的会话中。

实现 XenDesktop 连接和向后兼容性的触发器

在 Environment Manger 10.1 之前,使用 XenDesktop 7.8 版或更早版本时,如果登录、断开连接、重新连接、锁定和解锁,则会激发以下触发器:

用户行为 实际触发器 (RDP) 实际触发器 (ICA)
登录 登录 登录
断开连接 断开连接 锁定
重新连接 重新连接 解锁
锁定 锁定 锁定
解锁 解锁 解锁

这是因为,对于 ICA 会话,锁定和解锁操作会在用户断开连接和重新连接后触发。在 XenDesktop 7.9 及更高版本中,此行为得以修正,但对于运行更早版本的用户而言,Environment Manager 现在可以检测 XenDesktop 7.6 至 7.8 版环境中的断开连接和重新连接情况。10.1 版的配置中默认启用此检测。升级较旧版本的配置(10.0 及更早版本)时,默认禁用此检测机制。如果您使用的是 XenDesktop 7.6 至 7.8 版(含),则可以使用“高级设置中”的 IcaSessionConnectionOverride 设置来覆盖此机制。

“登录”触发器

Environment Manager 8.5 版中引入了一个新的“登录”触发器结构。单个“登录”触发器和“环境”选项卡被三个子触发器取代:“会话前”、“桌面创建前”和“桌面创建后”。

8.5 版控制台中打开的新配置会使用“登录”子触发器。但是,为了确保向后兼容性,升级配置时,您可以选择是要使用新的登录触发器方法还是旧的登录触发器方法。您可以使用“管理”选项卡中的“高级选项”切换这两种方法。

“进程启动”和“进程停止”触发器

在计算机和用户“进程启动”和“进程停止”触发器中创建顶层节点时,适用的行为有所不同:

  • 节点必须应用“进程名称”条件 - 向“进程启动”或“进程停止”触发器添加节点时,将自动打开“‘进程名称’条件”对话框。必须为该节点指定条件。按“取消”可删除节点。
  • 仅可通过在工作区选择进程条件来添加操作和条件。与其他触发器不同,无法通过在导航树中突出显示触发器来添加操作和条件。例外情况是,可以通过选择进程触发器来添加其他“进程名称”条件。
  • 初始“进程名称”条件不能从节点中删除。要删除条件,则必须删除该节点。
  • “进程名称”条件不能禁用“失败时停止”。如果条件失败,则不会运行条件中的任何操作。
  • 任何可重复使用的节点都可以添加到“进程启动”/“进程停止”触发器中,证明其中包含的操作与触发器兼容。
  • 在“匹配”字段中输入应用程序时,必须添加文件扩展名,例如,calc 不适用,但 calc.exe 适用。
  • 在 8.1 版本之前,“进程名称”条件不必应用于“进程启动”/“进程停止”触发器。升级时,仍会创建任何操作和条件,但如果没有“进程名称”条件,节点中的所有顶层操作和条件都将针对用户/计算机会话期间启动的每个进程运行。这会对性能产生不利影响。
    为了确保性能不受影响,请添加进程名称条件,然后添加现有的操作和条件。

这些行为不适用于在“进程启动”和“进程停止”条件中创建的子节点。

计算机“进程启动”和“进程停止”触发器仅检测系统进程,而用户“进程启动”和“进程停止”触发器则仅检测用户进程。

网络触发器

各个网络适配器连接或断开连接时,即会激发“网络已连接”和“网络连接已断开”触发器。

可以在“网络可用”、“网络已连接”和“网络连接已断开”触发器中使用会话变量,由此确定网络连接的特性。内置会话变量在网络触发器运行期间持续存在,在触发器完成执行其所有节点后将不再可用。

以下内置会话变量适用于“网络可用”触发器:

会话变量 说明 示例
Network.Domain 适配器的 DNS 后缀,特定于连接。注意:这是连接的域名,而不是计算机加入的域。 domain.local
Network.DomainType 已连接网络的域类型。可能的值如下:

0 - 连接到专用网络的工作组计算机

1 - 连接到域网络的工作组计算机

2 - 连接到域网络的加入域的计算机

2
网络 ID 作为网络唯一标识符的 GUID。 {9A445C40-B550-4B79- 8F4F-94475BCB5FCA}

以下内置会话变量适用于“网络可用”、“网络已连接”和“网络连接已断开”触发器:

会话变量 说明 示例
Network.Domain 适配器的 DNS 后缀,特定于连接。注意:这是连接的域名,而不是计算机加入的域。 domain.local
Network.DomainType 已连接网络的域类型。可能的值如下:

0 - 连接到专用网络的工作组计算机

1 - 连接到域网络的工作组计算机

2 - 连接到域网络的加入域的计算机

2
网络 ID 作为网络唯一标识符的 GUID。 {9A445C40-B550-4B79- 8F4F-94475BCB5FCA}
Network.Adapter.BSSID 接入点的媒体访问控制 (MAC) 地址。 6E:DD:3A:91:F2:8D
Network.Adapter.Description 网络适配器的描述。通常是网络适配器的制造商或类型 Intel(R) 82577LC 千兆网络连接
Network.Adapter.FriendlyName 网络适配器的友好名称。这是显示在“网络和共享中心”的适配器名称。 本地连接
Network.Adapter.Id 作为网络适配器唯一标识符的 GUID。 {F2DD3B93-5BD8-489CA7C7-32E2964AA0D5}
Network.Adapter.IPv4Address 网络适配器的 IPv4 地址。 192.168.1.1
Network.Adapter.IPv4SubnetMask 以简化符号表示的网络适配器 IPv6 地址

如果网络不是 IPv6 网络,则地址为以“fe80:”开头的本地链接地址,并且不可路由。

255.255.255.0
Network.Adapter.IPv6Address 网络适配器的 IPv6 前缀长度 64
Network.Adapter.IsVirtual 如果网络适配器是基于软件的适配器,则返回 True;如果网络适配器是物理适配器,则返回 False。
Network.Adapter.IsWireless 如果网络适配器是 IEEE 802.11 无线适配器,则返回 True;如果网络适配器是有线适配器,则返回 False。
Network.Adapter.MAC 网络适配器的媒体访问控制 (MAC) 地址。 3D:C5:DB:AC:46:B6

触发器环境

运行包含“环境”操作的配置时,触发器“环境”可优化效率。在 8.1 版本之前,环境变量操作添加到节点的方式与其他操作相同。环境变量以这种方式运行时,环境刷新操作会对触发器中其他操作的运行产生潜在影响。

建议在将配置从 8.1 之前的版本升级到 8.1 或更高版本时,将所有环境和会话变量添加到所需的触发器环境中。

在触发器中的所有其他操作均运行之后,触发器所含节点中的环境操作才会运行或刷新。

除非触发器中存在节点,否则“环境”选项卡中的操作将不会执行。

触发器环境的行为与节点非常相似,因为可以添加适合该触发器的任何条件。但是,仅可添加环境操作,所有其他操作均不适用。

触发器“环境”适用于以下触发器:

  • 计算机
    • 启动
    • 网络可用
    • 关闭
  • 用户
    • 注销
    • 网络已连接
    • 网络连接已断开
    • 会话已重新连接
    • 会话已断开
    • 会话已锁定
    • 会话已锁定

以下示例显示了“启动环境”选项卡,其中包含一个带有“环境”操作的条件和另外三个“环境”操作。

触发器环境示例

配置触发器环境

  1. 在“策略配置”导航树中,选择触发器。
  2. 选择“环境”选项卡。
  3. 选择“条件”选项卡并添加任何所需条件。不一定非要在“环境”选项卡中使用条件,您也可以直接添加“环境”操作。
  4. 单击操作 > 环境,然后选择所需的操作:
    • 设置环境变量
    • 追加环境变量
    • 删除环境变量
    • 设置会话变量
    • 删除会话变量

相关主题