NetIQ Workflow Automation 流程编写指南

《流程编写指南》提供 NetIQ Workflow Automation 产品的概念性信息。本文档定义了术语和各种相关概念,它还为许多与流程相关的任务提供了分步指导。

适用对象

本文档为负责下列任意任务的个人提供相关信息:

  • 了解 Workflow Automation 概念

  • 设计和实施体现您的 IT 策略的流程

    注:Workflow Automation 流程可以与各种监视产品(如 AppManager 或 Security Manager)进行交互。流程作者应对其在流程中使用的监视产品有一个全面的了解。

库中的其他信息

此库提供了以下信息资源:

管理员指南

提供与安装 Workflow Automation、使用配置控制台相关的概念性信息以及针对众多配置任务的分步指导。

用户指南

提供与 Operations Console 相关的概念性信息,以及针对众多流程操作员任务的分步指导。

报告中心报告指南

提供有关报告中心产品的概念性信息。适用于负责了解和使用 Workflow Automation 报告的个人。

配置控制台帮助

提供上下文相关信息和针对常见任务的分步指导,以及每个窗口中各字段的定义。

Operations Console 帮助

提供概念性信息以及针对常见任务的分步指导。

1.0 Workflow Automation 入门

IT 运维经理面临着前所未有且越来越大的压力,他们需要控制成本,同时以更快的速度提供服务。为了追求“经济高效”,许多 IT 专业人士正在探索让耗时、劳动密集型且占用宝贵且昂贵的 IT 员工资源的任务进行自动化处理。

许多企业寻求在特定任务和程序级别实现日常工作流程实践自动化,有时称为运行手册。虽然运行手册代表了经过验证的手动过程,但它们会受到人为错误的影响,并且会因为在重复琐碎的任务上浪费专业人员的时间而显得成本高昂。运行手册也可能十分抽象,仅代表个人之间的“部落知识”。“部落知识”可能记录地不准确,并且当有人离开组织时很容易丢失。

同时,由于运营分布高度分散和业务收购,IT 运维处理的 IT 环境也越来越多样化和复杂。通常,这些运行环境包含许多不同的工具。这些工具缺乏整合会妨碍对事件作出有效反应和开展日常运营活动的能力。

作为 IT 工作流程自动化平台的一部分,我们从零开始设计 NetIQ Workflow Automation,实现 IT 运行手册和流程的自动化。

1.1 什么是 Workflow Automation?

Workflow Automation 是一个 IT 进程自动化平台,可协助您建模、自动化、衡量并不断改进运行手册和进程。Workflow Automation 允许您:

  • 定义自动化 IT 进程,使用记录的 IT 进程和运行手册作为自动化的基础

  • 代表人员自动执行流程步骤

  • 协调不同 IT 职能部门之间的工作

Workflow Automation 与其他企业产品*集成后,从您的运营管理系统检索标准化信息,从而提供 IT 运维流程的整合型“大局”视图。

* 集成产品包括数据库、Directory and Resource Administrator、SNMP 活动、VMware vCenter Server、LDAP 和 ServiceNow 适配器。

通过将这些信息聚合到中央控制台中,Workflow Automation 使 IT 运维人员能够更轻松地完成以下目标:

  • 自动启动标准 IT 流程以处理事件

  • 记录所有响应活动

  • 报告遵守接受的 IT 策略

  • 提供事件管理的完整审计历史

通过允许用户快速识别和自动对相关事件进行分组和抑制,Workflow Automation 减少了用户必须处理和管理的误报数量

1.2 Workflow Automation 的工作原理

Workflow Automation 将数据源中的信息送入中央储存库,根据团队为匹配 IT 策略所定义的流程评估进来的数据。当事件信息与其触发准则匹配时,流程会自动运行。如果需要用户输入,用户登录 Operations Console,告诉流程该怎么做。例如,如果临时文件增长导致磁盘空间低于阈值,Workflow Automation 可以命令 AppManager 执行磁盘清理。

在此示例中,AppManager 检测到可用磁盘空间已低于阈值并生成事件,该事件触发 Workflow Automation 中的进程并创建一个工作项(运行流程的实例)。Workflow Automation 要求 AppManager 进行磁盘使用情况分析,按文件夹、文件类型和时长识别前 N 个成因,并格外注意已知的临时文件储存区域。Workflow Automation 向相应的用户发送包含分析结果的电子邮件,请求批准执行磁盘清理。电子邮件包含 Operations Console 的链接。用户登录 Operations Console 并批准部分清理。Workflow Automation 命令 AppManager 删除已批准的文件并分析新的磁盘空间状态。Workflow Automation 等待确认成功,然后发送给用户。Workflow Automation 关闭工作项。

Workflow Automation 流程非常灵活。一个典型的流程会自动完成下述类型的步骤:

  • 检查事件的辅助信息

  • 确定问题的优先级和紧迫性

  • 允许用户向下钻取事件流的细节

1.3 流程作者核对清单

流程作者负责创建和维护各个流程及其关联的工作流程。Workflow Automation 管理员完成初始配置任务后,流程作者就可以开始在 Workflow Automation 中创建触发器和工作流程。请使用以下核对清单来帮助您完成这些任务。

 

核对清单项目

  1. 对于引用特定类型事件的触发器,请创建命名事件。有关更多信息,请参见了解命名事件

  1. 创建触发器。有关更多信息,请参见了解触发器

  1. 创建新流程。有关更多信息,请参见创建一个流程

  1. 如果您负责确保服务器是 Workflow Automation 中的资源,请设置资源和业务服务。有关资源的更多信息,请参阅《NetIQ Workflow Automation 管理员指南》

1.4 首次启动配置控制台

配置控制台是一个基于 Windows 的应用程序,采用 Microsoft ClickOnce 发布和部署技术,您可以在桌面使用。首次启动配置控制台时,请从操作控制台启动。初次 ClickOnce 部署会在 NetIQ 程序组中创建一个快捷方式。

注:如果您的环境不允许安装 ClickOnce,您可以在任何计算机上本地安装配置控制台。有关本地安装配置控制台的更多信息,请参阅《NetIQ Workflow Automation 管理员指南》

要从操作控制台启动配置控制台:

  1. 如果您登录到 Web 服务器计算机,请在“开始”菜单上单击所有程序 > NetIQ,然后单击 Workflow Automation 操作控制台

  2. 如果要远程登录操作控制台,请完成以下步骤:

    1. 启动 Internet Explorer。

    2. 指定以下 URL,其中 hostcomputer 是 Web 服务器计算机的名称:

      http:// hostcomputer /WFA

  3. 在 Operations Console Login(操作控制台登录)窗口中,提供您的用户名和密码。

    注:如果您没有 Workflow Automation 的用户名和密码,或者如果您不知道 Web 服务器计算机的名称,请联系您的 Workflow Automation 管理员。

  4. 为确保本地计算机满足安装配置控制台的先决条件,请完成以下步骤:

    1. 单击 Configuration Console Prerequisites(配置控制台先决条件)。

    2. 如果您需要安装先决条件,请单击 Install Prerequisites(安装先决条件)。

    3. 关闭“配置控制台先决条件”窗口。

  5. 单击 Launch Configuration Console(启动配置控制台)。

  6. 在 Configuration Console Login(配置控制台登录)窗口中,提供您的用户名和密码。

2.0 了解事件

事件通过与下列各项之一匹配,在流程中启动一项操作:

  • 触发器 - 触发器评估事件以确定是启动一个流程还是将事件追加到现有工作项(运行流程的实例)。单个事件可能会触发多个流程。事件的组合可以触发单个进程。

  • 等待事件活动 - 等待事件活动响应进程运行时发生的事件。通常,每个适配器都有自定义版本的活动,以匹配该适配器的事件。例如,如果您的 Workflow Automation 环境具有多个适配器,则您可能会看到 Wait for Email Event(等待电子邮件事件)活动或 Wait for AppManager Event(等待 AppManager 事件)活动。

Workflow Automation 提供以下事件类型:

  • 基本事件

  • 命名事件

  • 计划事件

2.1 了解基本事件

基本事件是来自 Workflow Automation 或 Workflow Automation 适配器的事件。基本事件有一个无预定义值的可用属性列表。您可以将基本事件与触发器表达式和命名事件表达式关联,以匹配进来的事件。当您将基本事件与触发器表达式或命名事件表达式关联时,您会指定特定属性的值,以将其与进来的事件的属性值进行比较。

Workflow Automation 提供以下基本事件:

  • Aegis.Event

  • Aegis.Generic Integration Event

  • Email.Message

  • Exchange.New Message Event

  • Scheduler.Event

每个 Workflow Automation 适配器都提供自己的基本事件。有关特定于适配器的基本事件的更多信息,请参阅 NetIQ Aegis Adapter Documentation(NetIQ Aegis 适配器文档)。有关触发器表达式的更多信息,请参见了解触发器表达式

2.2 了解命名事件

命名事件(也称为触发事件定义)是您用特定属性值所创建的自定义事件。例如,命名事件可以检查严重程度为紧急且来自特定知识脚本的 AppManager 事件。在流程作者创建触发器时,他们可以在管理触发器何时启动、阻止工作项或对其分组的表达式中包含命名事件。有关触发器的更多信息,请参见了解触发器

默认情况下,触发器不要求一个事件满足所有指定的触发器表达式。触发器只要求一个或多个事件在指定的时间窗口内满足所有指定的表达式。您可以在某些触发器表达式中使用命名事件,以确保 Workflow Automation 在某个特定事件满足所有条件时启动工作项。有关触发器表达式的更多信息,请参见了解触发器表达式

您随时都可以编辑与当前生产中的工作流程修订无关的命名事件。要编辑与生产中工作流程修订关联的命名事件,必须将工作流程修订从生产中分离出来。编辑命名事件后,您可以将工作流程修订重新投入生产。在您将产工作流程修订投入生产时,Workflow Automation 会检查命名事件是否有更新。有关将工作流程修订从生产中分离出来的更多信息,请参见使工作流程修订退出生产

2.3 了解计划事件

计划事件允许您在特定日期和时间启动工作项。例如,如果您的公司为多个客户设置、管理和维护服务器,则可以创建一个如下的工作流程:

  1. 在一组特定服务器的维护期开始 时启动。

  2. 将服务器置于维护模式。

  3. 执行常规维护,例如执行备份或重启服务器。

  4. 等到维护期结束。

  5. 将服务器重新置入生产模式。

2.3.1 了解事件计划类型

Workflow Automation 提供以下类型的事件计划:

一次性

事件计划在指定日期和时间生成一个事件。

重复发生

事件计划定期生成事件,例如每月的最后一个星期五。您还可以配置事件计划,使其在指定日期多次生成事件,例如上午 10:00 至下午 2:00 之间的每个小时。

时间范围的开始/结束

事件计划在一个或多个指定时间范围的开始或结束时生成事件。选定的时间范围决定了事件计划是否重复发生。您还可以配置事件计划在指定时间范围的开始和结束时都生成事件。

2.3.2 了解事件计划激活

事件计划处于活动状态时,它会通过向 Microsoft Windows 中的任务计划程序添加任务来生成事件,该计划程序会在相应的日期和时间将事件发送到 Workflow Automation。默认情况下,仅当生产中的工作流程修订按名称引用下列任意活动中的事件计划时,事件计划才处于活动状态:

  • Start of Workflow(工作流程开始)活动(针对触发器或命名事件的规则中)

    • 如果要在触发器中按名称引用事件计划,请使用以下任意一个表达式模板:

      • Scheduled event(计划事件)

      • Any event of a specific type and attribute value(具备特定类型和属性值的任何事件)

    • 如果要在命名事件中按名称引用事件计划,请指定 Scheduler.Event 事件类型和事件计划名称事件属性。

  • Wait for Scheduled Event(等待计划事件)活动

当您更改符合条件的工作流程修订的状态时,Workflow Automation 会自动激活或停用事件计划。

您可以将事件计划配置为始终处于活动状态。即使 WFA 关闭也将事件计划保持为活动状态复选框允许事件计划在以下条件下生成事件:

  • Workflow Automation 命名空间提供程序服务未运行。例如,如果您修改 Adapter Configuration Utility(适配器配置实用程序)中的设置,则必须重启动命名空间提供程序服务。

  • 生产中没有任何工作流程修订引用事件计划。

如果事件计划在上述任何一个条件下生成事件,则事件将在 Microsoft 消息队列中等待。当命名空间提供程序服务再次运行时,Workflow Automation 会接收事件并将其显示在操作控制台中的“事件”列表中。如果引用事件计划的工作流程修订处于生产中,Workflow Automation 将启动工作项。

注:

  • 活动的事件计划仅会在启用时生成事件。如果禁用事件计划,则事件计划不会生成事件,即使已配置为始终处于活动状态。

  • 如果您没有将事件计划配置为始终处于活动状态,则事件计划将“按需”可用。如果在生产中的工作流程修订正在使用一个按需事件计划时对计划进行修订,则更改在事件计划不再使用之后才会生效。

  • 如果您将事件计划配置为在群集环境中始终处于活动状态,以确保事件计划在发生故障转移时生成事件,则您需要对群集中的每个节点执行手动故障转移。

2.3.3 了解时间表和时间范围

时间表是一个或多个时间范围的集合。例如,一个名为 National Holidays(国家假日)的时间表包含一年中每个假日的时间范围,例如 New Years Day(新年假期)。

使用时间范围限制事件计划

您可以使用时间范围来限制事件计划何时生成事件。

正约束

只有当计划的发生是在指定时间范围内时,事件计划才会生成事件。例如,如果您希望除周末外,计划事件每天都发生,则可以添加一个名为 Business Days(工作日)的时间表作为正约束,该时间表的时间范围为每个工作日。计划事件在星期一到星期五发生,在周末不发生。

负约束

如果计划的发生是在指定时间范围内,则事件计划不生成事件。例如,如果您希望计划事件在每个星期五发生,但节假日除外,则可以添加一个名为 National Holidays(国家假日)的时间表,该时间表包含一年中每个假日的时间范围。计划事件在任何是假日的星期五都不发生。

在工作流程中使用时间范围

时间范围允许进行 Check Time Against a Time Range(根据时间范围检查时间)活动,以检查指定时间是否在一个或多个预先定义的时间范围内。该活动的在时间范围内输出参数为 TRUEFALISE。流程作者可以在工作流程中稍后一点的另一项活动或条件连接器中使用输出参数,以确定紧随“根据时间范围检查时间”活动后工作流程的路径。

例如,流程作者在 Start of Workflow(工作流程开始)活动后紧接着放置一个 Check Time Against a Time Range(根据时间范围检查时间)活动,并将其配置为检索当前时间,并根据含国家假日相关时间范围的时间表对其进行检查。流程作者配置一个条件连接器,将 Check Time Against a Time Range(根据时间范围检查时间)活动连接到 Pause for Specified Time(暂停指定时间)活动。当事件触发工作流程时,Check Time Against a Time Range(根据时间范围检查时间)活动会根据指定的时间范围检查当前时间,并发现当前时间是在元旦。Pause for Specified(暂停指定时间)活动将工作流程延迟至下一个工作日。

2.3.4 计划事件示例

以下示例概述了设置计划事件并将其与触发器关联所涉及的主要步骤:

  1. 创建时间表

  2. 创建时间范围

  3. 创建事件计划

  4. 创建命名事件

  5. 创建触发器

  6. 创建流程

1. 创建时间表

创建一个名为 Maintenance Periods(维护期)的时间表,其中包含每个客户端维护期的时间范围,例如 Exchange Servers - Customer A(Exchange Server - 客户 A),该时间表与您的环境为包含计算机的资源组所用的名称相同。

2. 创建时间范围

创建 Exchange Servers - Customer A(Exchange Server - 客户 A)时间范围,并指定维护期何时开始、持续时长以及重复的频率。

3. 创建事件计划

创建名为 Server Maintenance(服务器维护)的事件计划,并将其配置为在 Maintenance Periods(维护期)时间表中每个时间范围的开始和结束生成事件。

事件计划通过向 Microsoft Windows 中的任务计划程序添加任务来生成事件,该计划程序在相应的日期和时间将事件发送到 Workflow Automation。

4. 创建命名事件

使用以下设置创建名为 Start of Server Maintenance(服务器维护开始)的命名事件:

Has event type of Scheduler.Event and All of the following

Event attribute Event Schedule Name is equal to Server Maintenance

Event attribute Scheduled Event Type is equal to Start of Time Range

有关命名事件的更多信息,请参见了解命名事件

5. 创建触发器

创建名为 Scheduled Server Maintenance(计划服务器维护)的触发器。

在 Initiate New Work Item If(如果满足条件则启动新工作项)选项卡上,使用 One event of a specific type(一个特定类型的事件)表达式模板来匹配 Start of Server Maintenance(服务器维护开始)命名事件。

在 Custom Attributes(自定义属性)选项卡中,创建一个从启动工作项的事件检索时间范围名称属性的自定义属性。确保设置以下值:

 

自定义属性

名称

TriggeringEventTimeRange

显示名称

触发事件的时间范围

类型

字符串

使用 Input Builder 从启动工作项的事件中检索时间范围名称属性。有关使用 Input Builder 的更多信息,请参见了解 Input Builder

有关触发器的更多信息,请参见了解触发器。有关自定义属性的更多信息,请参见了解触发器自定义属性

6. 创建流程

创建新流程并打开工作流程设计器。

  1. 在 Library Browser(库浏览器)中,将以下活动从指定的活动库拖动至设计网格:

    活动

    Start of Workflow(工作流程开始)

    基本工作流程控制

    Find All Computers in a Resource Group or Business Service(查找资源组或业务服务中的所有计算机)

    资源管理

    Set Ad Hoc Maintenance Mode(设置临时维护模式)

    NetIQ AppManager

    Wait for Scheduled Event(等待计划事件)

    时间和日期

    Clear Ad Hoc Maintenance Mode(清除临时维护模式)

    NetIQ AppManager

    End of Workflow(工作流程结束)

    基本工作流程控制

  2. 在 Start of Workflow(工作流程开始)活动中,添加您创建的触发器。

  3. 在 Find All Computers in a Resource Group or Business Service(查找资源组或业务服务中的所有计算机)活动中,对于 Resource Name(资源名称)参数,请使用 Input Builder 检索您在触发器中创建的自定义属性。

    该活动检索与触发事件所关联的时间范围同名的资源组中的所有计算机的列表。计算机列表以输出参数提供。有关资源组的更多信息,请参阅《NetIQ Workflow Automation 管理员指南》

  4. 在 Set Ad Hoc Maintenance Mode(设置临时维护模式)活动中,对于 Computers(计算机)参数,使用 Input Builder 从 Find All Computers in a Resource Group or Business Service(查找资源组或业务服务中的所有计算机)活动中检索 Computer Locators(计算机定位器)输出参数。

  5. 在 Wait for Scheduled Event(等待计划事件)活动中,创建具有以下规则的过滤器:

    • Events where Event Schedule Name is equal to Server Maintenance

    • Events where Scheduled Event Type is equal to End of Time Range

    • Events where Time Range Name is equal to {Trigger Custom Attribute.Time Range of Triggering Event}

      注:括号代表过滤器的一部分,您必须使用 Input Builder 为其指定您之前创建的自定义属性。有关使用 Input Builder 的更多信息,请参见了解 Input Builder

    该活动暂停了工作流程,直到事件计划发送事件以表明维护期结束。

  6. 在 Clear Ad Hoc Maintenance Mode(清除临时维护模式)活动中,对于 Computers(计算机)参数,使用 Input Builder 检索来自 Find Resource Groups(查找资源组)活动的 Object Locators(对象定位器)输出参数。

  7. 确保工作流程具有 End of Workflow(工作流程结束)活动,然后将活动与无条件连接器连接起来。

有关连接器的更多信息,请参见了解工作流程连接器

3.0 了解触发器

触发器评估进来的事件,并决定是启动工作项还是将一个或多个事件追加到现有工作项。创建或修改触发器时,您在以下选项卡上指定触发规则:

Initiate New Work Item If(如满足条件则启动新工作项)

如果事件与此选项卡上的规则相匹配,则触发器启动工作项并将触发事件作为相关事件追加到工作项上。如果多个事件与规则匹配,则触发器将所有事件追加到工作项上。有关启动工作项的更多信息,请参见了解启动表达式

Block New Work Item If(如满足条件则阻止新工作项)

如果事件与此选项卡上的规则相匹配,则触发器会阻止创建新的工作项。有关阻止工作项的更多信息,请参见了解阻止表达式

Append to Previous Work Item If(如满足条件则追加到上一个工作项)

如果事件与此选项卡上的规则匹配,则触发器会将事件追加到现有工作项中。有关将事件追加到工作项的更多信息,请参见了解追加表达式

默认情况下,触发器不要求单个事件满足任何选项卡上的所有规则。触发器仅要求一个或多个事件满足指定时间窗口内的所有指定的规则。例如,如果发生以下任何一种情况,上一个截图中的规则将启动新的工作项:

  • 一个进来的 AppManager.Event 事件具有 GreyMachines KS 和包含 Server Availability:(服务器可用性:)的事件摘要讯息。

  • 两个单独的进来事件在彼此相隔的两分钟内发生:

    • 一个 AppManager.Event 事件,具有 GreyMachines KS

    • 一个 AppManager.Event 事件,具有包含 Server Availability:(服务器可用性:)的事件摘要讯息

如果您要确保触发器要求一个事件满足所有规则,则可以创建一个命名事件并将其指派给该规则。有关命名事件的更多信息,请参见了解命名事件

3.1 了解触发器运算符

运算符是一个复杂的规则,用于将其他规则捆绑在一起,并管理它们的关联方式。Workflow Automation 提供以下默认运算符。

Has All of the following(具备以下所有)

要求一个或多个事件匹配所有规则。例如, Initiate New Work Item If(如满足条件则启动新工作项)选项卡上的以下规则组合告诉触发器仅在两个后代表达式均为 TRUE 时才启动工作项:

Has All of the following
     Expression 1
     Expression 2
Has Any of the following(具备下列任意一个)

要求一个事件符合任意规则。例如,Block New Work Item If(如满足条件则阻止新工作项)选项卡上的以下规则组合告诉触发器如果任意一个后代表达式为 TRUE 则阻止新工作项:

Has Any of the following
     Expression 1
     Expression 2

运算符可以有其他运算符作为后代,从而创建无限“嵌套”级别。例如,Append to Previous Work Item If(如满足条件则追加到上一个工作项)选项卡上的以下规则组合告诉触发器,仅当表达式 1、表达式 2 以及表达式 3 或表达式 4 为 TRUE 时,才将匹配的事件追加到一个工作项。

Has All of the following
     Expression 1
     Expression 2
     Has Any of the following
          Expression 3
          Expression 4

3.2 了解触发器表达式

表达式是一个简单的规则,不能包含其他规则。当您配置一个表达式时,您会指定触发器用于匹配进来的事件的准则,例如:

  • 触发器必须匹配的事件类型,可以是基本事件或命名事件。有关事件类型的更多信息,请参见了解事件

  • 触发器必须评估的进来的事件的事件属性。

  • 事件属性的值与指定值相比如何,例如是 is equal to(等于)还是 is less than(小于)。

  • 触发器将进来的事件的属性值与其对比的值。

3.2.1 了解启动表达式

Initiate New Work Item If(如满足条件则启动新工作项)选项卡提供以下表达式:

Any event of a specific type and attribute value(具备特定类型和属性值的任何事件)

此表达式将单个基本事件与其中一个属性的特定值匹配。时间窗口不适用。例如,要在 Workflow Automation 收到任何 KS 名称为 NT_ServiceDown 的 AppManager 事件时启动工作项,请将表达式配置如下:

Any event of a specific type which fails to match other triggers within the time window(在时间窗口内无法匹配其他触发器的特定类型的任何事件)

此表达式对在指定时间窗口内与任何其他触发器均不匹配的特定事件进行匹配。

注:此触发器表达式与工作流程优先级无关。有关工作流程优先级的更多信息,请参见了解工作流程优先级

如果使用基本事件,触发器不会评估进来的事件上的任何属性值。例如,如果您指定 AppManager.Event,则触发器在匹配任何与指定时间窗口内的另一个触发器匹配的 AppManager 事件时启动工作项。

如果使用命名事件,触发器可确保事件与命名事件上的指定属性值匹配。例如,如果您创建一个名为 NT_ServiceDown 的命名事件,其中事件类型为 AppManager.Event,并且 AppManager KS Name(AppManager KS 名称)属性的值为 NT_ServiceDown,则只有在具有指定值的事件在指定时间窗口内与任何其他触发器均不匹配时,触发器才会启动工作项。

为确保事件在指定时间窗口内与其他触发器不匹配,Workflow Automation 需要大约一分钟的额外处理时间。例如,如果时间窗口为 2 minutes(2 分钟),则 Workflow Automation 会在事件到达后大约三分钟启动工作项。

Any event which fails to match other triggers within the time window(在时间窗口内无法匹配其他触发器的任何事件)

此表达式对不匹配指定时间窗口内任何其他触发器的任何非指定事件进行匹配。触发器忽略事件类型和所有属性值。例如,您可以使用此表达式来确保 Workflow Automation 响应所有事件。

注:此触发器表达式与工作流程优先级无关。有关工作流程优先级的更多信息,请参见了解工作流程优先级

为确保事件在指定时间窗口内与其他触发器不匹配,Workflow Automation 需要大约一分钟的额外处理时间。例如,如果时间窗口为 2 minutes(2 分钟),则 Workflow Automation 会在事件到达后大约三分钟启动工作项。

Any N or more events from the same business service(来自同一业务服务的任意 N 个或更多事件)

此表达式匹配指定时间窗口内来自同一业务服务的未指定事件的最小数量。N 必须大于 1。触发器忽略事件类型和所有属性值。例如,要从在两分钟内来自同一个业务服务的三个或三个以上事件启动一个工作项,而无论事件类型或事件的关系如何,请将模板配置如下:

Any N or more events from the same cluster(来自同一群集的任意 N 个或更多事件)

此表达式匹配指定时间范围内来自同一群集的非指定事件最小数量。N 必须大于 1。触发器忽略事件类型和所有属性值。例如,要从在两分钟内来自同一个群集的两个或两个以上事件启动一个工作项,而无论事件类型或事件的关系如何,请将模板配置如下:

Any N or more events from the same computer(来自同一计算机的任意 N 个或更多事件)

此表达式匹配指定时间窗口内来自同一计算机的非指定事件的最小数量。N 必须大于 1。触发器忽略事件类型和所有属性值。例如,要从在两分钟内来自同一服务器的两个或两个以上事件启动一个工作项,而无论事件类型或事件的关系如何,请将模板配置如下:

Any N or more events of a specific type(特定类型的任意 N 个或更多事件)

此表达式匹配指定时间窗口内同类型事件的最小数量。N 必须大于或等于 1

注:如果将 N 设置为 1,则触发器将忽略指定的时间窗口,且该表达式的行为方式与 One event of a specific type(一个特定类型的事件)相同。

如果使用基本事件,触发器不会评估进来的事件上的任何属性值。例如,如果您将 N 设置为 2 并指定 AppManager.Event,则触发器会在指定时间窗口内匹配到至少两个 AppManager 事件时启动工作项。

如果使用命名事件,触发器可确保事件与命名事件上的指定属性值匹配。例如,如果您将 N 设置为 2,并创建一个名为 NT_ServiceDown 的命名事件,其中事件类型为 AppManager.EventAppManager KS Name(AppManager·KS·名称)属性的值为·NT_ServiceDown,则触发器会在至少有两个具有指定值的事件在指定时间窗口内到达时启动工作项。

Any N or more events of a specific type with identically valued attributes(任意 N 个或更多个具有完全相同值属性的特定类型事件)

如果指定属性的值在所有事件中均完全相同,此表达式将匹配指定时间窗口内的最小事件数。N 必须大于 1

如果使用基本事件,触发器仅比较指定属性。例如,如果两个或两个以上在彼此相隔两分钟内发生的 Exchange.New Message Event 事件具有相同的主题,则启动工作项,请将表达式配置如下:

如果使用命名事件,触发器会评估与命名事件相关的属性以及您为表达式指定的属性。例如,如果您创建一个名为 Exchange Server Down(Exchange Server 关闭)的命名事件,其中事件类型为 Exchange.New Message EventSubject(主题)属性的值为 Exchange Server Down,您可以指定触发器表达式中的其他属性,如 Sender Email Address(发送者电子邮件地址)和 Status(状态)。如果将 N 设置为 2,则触发器只会在所有指定属性的值完全相同的两个或更多个事件在指定的时间窗口内到达时启动工作项。

Combination of events with different attributes having common values(具备有共同值的不同属性的事件组合)

如果指定属性具有完全相同的值,此表达式会匹配指定时间窗口内至少两个事件的任何组合。

注:此表达式有其自己的时间窗口。默认情况下,该表达式从父运算符那里继承时间窗口的值。

如果使用基本事件,则触发器仅比较指定属性。例如,以下配置将 AppManager 事件上的 AppManager Machine Name(AppManager 机器名称)属性与 vCenter 事件上的 Virtual Machine Name(虚拟机名称)属性进行比较。触发器忽略所有其他属性和值。

如果使用命名事件,触发器会评估与命名事件相关的属性以及您为表达式指定的属性。例如,以下配置仅在两个事件匹配命名事件中的属性且对表达式中的指定属性拥有完全相同的值,并在彼此相隔两分钟内发生时,才会启动工作项。

Combination of events with same attributes having common values(具有相同属性且属性具备共同值的事件的组合)

如果每个事件对指定属性具有完全相同的值,此表达式会匹配指定时间窗口内至少两个事件的任何组合。

注:此表达式有其自己的时间窗口。默认情况下,该表达式从父运算符那里继承时间窗口的值。

如果使用基本事件,则触发器仅比较指定属性。例如,以下配置将 AppManager 事件、Aegis 事件和 vCenter 事件中的 Resource Group Name(资源组名称)属性进行比较。触发器忽略所有其他属性和值。

如果使用命名事件,触发器会评估与命名事件相关的属性以及您为表达式指定的属性。例如,仅在事件匹配至少两个命名事件中的属性且 Resource Group Name(资源组名称)属性的值完全相同,而且事件在彼此相隔两分钟内发生时,以下配置才会启动工作项。

Compare multiple attribute values of two different events(比较两个不同事件的多个属性值)

如果至少两个指定属性(每个事件一个)具有完全相同的值,此表达式将匹配指定时间窗口内的两个特定事件的组合。为了使比较更具限制性,您可以在表达式中添加更多属性。

此表达式为您要比较的属性列表提供了以下运算符:

  • All 要求两个事件对所有属性具有完全相同的值。

  • Any 要求两个事件对任何或所有属性具有完全相同的值。

  • None 要求两个事件对所有属性都没有完全相同的值。

  • Not Any 要求事件对任何或所有属性没有完全相同的值。

如果使用基本事件,则触发器仅比较指定属性。例如,以下配置会将 vCenter 事件中的 Event Message(事件讯息)属性与 AppManager 事件中的 Resource Name(资源名称)属性进行比较。触发器忽略所有其他属性和值。

如果使用命名事件,触发器会评估与命名事件相关的属性以及您为表达式指定的属性。例如,以下配置仅在两个事件匹配命名事件中的属性且对表达式中的指定属性拥有完全相同的值,并在彼此相隔两分钟内发生时,才会启动工作项。

Compare two attribute values of two different events(比较两个不同事件的两个属性值)

如果两个特定属性(每个事件一个)具有完全相同的值,此表达式将匹配指定时间窗口内的两个特定事件的组合。如果要比较两个以上的属性,请使用 Compare multiple attribute values of two different events(比较两个不同事件的多个属性值)表达式。

如果使用基本事件,则触发器仅比较指定属性。例如,以下配置会将 vCenter 事件中的 Event Message(事件讯息)属性与 AppManager 事件中的 Computer Name(计算机名称)属性进行比较。触发器忽略所有其他属性和值。

如果使用命名事件,触发器会评估与命名事件相关的属性以及您为表达式指定的属性。例如,以下配置仅在两个事件匹配命名事件中的属性且对表达式中的指定属性拥有完全相同的值,并在彼此相隔两分钟内发生时,才会启动工作项。

One event of a specific type(一个特定类型的事件)

此表达式匹配一个特定事件。时间窗口不适用。

如果使用基本事件,触发器不会评估进来的事件上的任何属性值。例如,要在 Workflow Automation 收到任何 vCenter 事件时启动工作项,请将表达式配置如下:

如果使用命名事件,触发器可确保事件与命名事件上的指定属性值匹配。例如,要在 Workflow Automation 收到名为 VM Detected Down(检测到 VM 关闭)的命名事件,其中事件类型为 VMware.vCenter Event(VMware.vCenter 事件),且 Status(状态)属性的值为 Closed(已关闭)时启动工作项,请将表达式配置如下:

Scheduled event(计划事件)

此表达式匹配特定事件计划中的任何计划事件。时间窗口不适用。例如,当 AE: Maintenance Mode Check(AE:维护模式检查)事件计划生成事件时,以下配置启动工作项。

Sequence of events(事件序列)

此表达式匹配指定时间窗口内的特定事件序列。该表达式比较每个事件中相同时间相关序列属性的值,以确定发生顺序。

注:此表达式有其自己的时间窗口。默认情况下,该表达式从父运算符那里继承时间窗口的值。

如果使用基本事件,触发器仅评估指定的序列属性。例如,如果 AppManager 事件、vCenter 事件和 Aegis 事件根据 Creation Time(创建时间)序列属性在彼此相隔三分钟内以指定顺序发生,下列配置将启动工作项。触发器忽略所有其他属性和值。

如果使用命名事件,触发器会评估与命名事件相关的属性以及指定的序列属性。例如,仅在三个事件匹配命名事件的属性,且根据 Creation Time(创建时间)序列属性在彼此相隔三分钟内以指定顺序发生时,以下配置才会启动工作项。

Sequence of events with same attributes having common values(具有相同属性且属性具备共同值的事件序列)

如果每个事件对指定属性具有相同的值,此表达式将匹配指定时间窗口内的特定事件序列。该表达式比较每个事件中相同时间相关序列属性的值,以确定发生顺序。

注:此表达式有其自己的时间窗口。默认情况下,该表达式从父运算符那里继承时间窗口的值。

如果使用基本事件,则触发器仅评估指定的通用属性和序列属性。例如,如果 AppManager 事件、vCenter 事件和 Aegis 事件具有相同的 Resource Group(资源组)属性值,并且根据 Creation Time(创建时间)序列属性在彼此相隔三分钟内以指定顺序发生,以下配置会启动工作项。触发器忽略所有其他属性和值。

如果使用命名事件,触发器会评估与命名事件相关的属性以及指定的序列属性。例如,仅在三个事件匹配命名事件的属性且具有相同的 Resource Group(资源组)属性值,并且根据 Creation Time(创建时间)序列属性在彼此相隔三分钟内以指定顺序发生时,以下配置才会启动工作项。

3.2.2 了解阻止表达式

Workflow Automation 可以通过阻止以下类型的事件来防止大量不必要的工作项:

重复事件

数据来源可能会在中断期间反复发送相同的事件,但通常有第一个通知就够了。

症状事件

故障可能会产生下游影响,每个故障都会产生症状性的事件。修复根本原因,许多此类事件便会消失。

错误警告

性能管理系统通常具有静态和不准确的阈值,在没有实际问题时会导致大量警告。

触发器可以通过忽略与 Block New Work Item If(如满足条件则阻止新工作项)选项卡中的规则匹配的事件,来阻止创建新工作项。默认情况下,触发器会阻止匹配工作项寿命内的事件,但您可以配置触发器,以便在工作项开始后的特定时间段内阻止匹配事件。例如,如果您期望工作项在触发器将其启动后运行较长时间,则您可以配置触发器,以阻止工作项运行后的前 10 分钟发生的后续匹配事件。10 分钟后,触发器停止阻止匹配事件。

注:在设计工作流程时,流程作者还可以定义工作项级别的阻止。如果工作项符合预先定义的条件,则工作项级的阻止会终止运行的工作项。例如,条件连接器可以让工作流程转向 End of Workflow(工作流程结束)活动。

Block New Work Item If(如满足条件则阻止新工作项)选项卡提供以下表达式:

Any event from event source if this event initiated new work item(来自事件源的任何事件,如果此事件启动了新工作项)

此表达式将来自同一计算机、业务服务、资源组或业务服务角色的任何事件作为之前启动工作项的事件进行匹配。触发器不评估事件上的任何其他属性。例如,如果触发器之前曾在 Workflow Automation 在 Exchange Servers 资源组中收到一个事件时启动了一个工作项,则您可以通过将表达式配置如下,阻止其他匹配事件在现有工作项寿命的前 10 分钟内启动新工作项:

Any event matching attributes of the event that initiated new work item(匹配启动新工作项事件属性的任何事件)

此表达式具有以下子表达式:

  • Event attribute matching attribute of event(s) that initiated new work item(事件属性匹配启动新工作项的事件属性)- 将当前事件的属性值与启动工作项的事件属性值进行比较,类似于 SQL JOIN 语句的 ON 子句。要评估当前事件的多个属性,请添加此子表达式的多个实例。如果多个事件启动了工作项,则当前事件上的属性值可以与触发事件的一个或多个属性匹配。这是主要的子表达式。其他子表达式是限定符。

  • Attribute of event(s) that initiated new work item matching event value(启动新工作项的事件属性匹配事件值)- 将触发事件的属性与特定值进行比较,类似于 SQL JOIN 语句中的 WHERE 子句。要评估触发事件上的多个属性,添加此子表达式的多个实例。如果多个事件启动了工作项,触发器将评估所有这些事件。为了获得最佳结果,请将此子表达式用作 Event attribute matching attribute of event(s) that initiated new work item(事件属性匹配启动新工作项的事件属性)子表达式的限定符。不要单独使用该子表达式。

  • Event attribute matching event value(事件属性匹配事件值)- 将当前事件属性的值与特定值进行比较,类似于 SQL JOIN 语句中的 WHERE 子句。要评估当前事件的多个属性,请添加此子表达式的多个实例。为了获得最佳结果,请将此子表达式用作 Event attribute matching attribute of event(s) that initiated new work item(事件属性匹配启动新工作项的事件属性)子表达式的限定符。不要单独使用该子表达式。

例如,如果触发器之前曾在 Workflow Automation 收到一个 AppManager 事件时启动了一个工作项,您可以阻止新的 AppManager 事件在现有工作项寿命的前 10 分钟内启动新工作项,前提是:

  • 新事件来自与原始事件相同的计算机

  • 触发事件属于特定资源组,如 Resource Group A(资源组 A)

  • 新事件具有与之相关的特定知识脚本,例如 NT_NetworkBusy

将子表达式配置如下:

此配置像采用如下语法的 SQL JOIN 语句一样运作:

SELECT *

FROM NewEvent

INNER JOIN TriggeringEvent

ON NewEvent.ComputerName=TriggeringEvent.ComputerName

WHERE TriggeringEvent.ResourceGroup = ResourceGroupA AND NewEvent.KSName = NT_NetworkBusy

NewEvent 是新的 AppManager 事件,TriggeringEvent 是启动工作项的 AppManager 事件。

Any event of a specific type and attribute value(具备特定类型和属性值的任何事件)

此表达式匹配其中一个属性具备特定值的单个事件。例如,如果触发器之前曾在 Workflow Automation 收到 AppManager 事件(KS 名称为 NT_SystemUptime)时启动了一个工作项,则您可以通过将表达式配置如下来阻止 KS 名称为 NT_ServiceDown 的事件在现有工作项寿命的前 10 分钟内启动新工作项:

要匹配新事件上的多个属性,添加此表达式的多个实例。例如,如果您要仅在事件来自特定计算机(例如 Computer01)时阻止 KS 名称为 NT_ServiceDown 的新 AppManager 事件,请将表达式配置如下:

Any event of a specific type from event source if this event initiated new work item(来自事件源的特定类型的任何事件,如果此事件启动了新的工作项)

此表达式匹配来自特定计算机、业务服务、资源组或业务服务角色的单个事件。

如果使用基本事件,触发器不会评估事件上的任何其他属性。例如,如果触发器之前曾在 Workflow Automation 在 Exchange Servers 资源组中收到事件时启动了工作项,则您可以通过将表达式配置如下来阻止来自同一资源组的其他匹配事件启动新的工作项:

如果使用命名事件,触发器可确保事件与命名事件上的指定属性值匹配。例如,如果触发器之前曾在 Workflow Automation 收到针对 Exchange Servers 资源组的 Exchange Server Down(Exchange Server 关闭)事件时出启动了工作项,则您可以通过将表达式配置如下来阻止来自同一资源组的其他匹配事件启动新工作项:

One event of a specific type(一个特定类型的事件)

此表达式匹配一个特定事件。时间窗口不适用。

如果使用基本事件,触发器不会评估进来的事件上的任何属性值。例如,如果触发器之前曾在 Workflow Automation 收到 vCenter 事件时启动了工作项,则您可以通过将表达式配置如下来阻止其他匹配事件启动新工作项:

如果使用命名事件,触发器可确保事件与命名事件上的指定属性值匹配。例如,如果触发器之前曾在 Workflow Automation 收到 VM Detected Down(检测到 VM 关闭)命名事件时启动了工作项,则您可以通过将表达式配置如下来阻止其他匹配事件启动新工作项:

3.2.3 了解追加表达式

触发器可以将符合 Append to Previous Work Item If(如满足条件则追加到上一个工作项)选项卡规则的事件追加到工作项。默认情况下,触发器会追加工作项寿命内的匹配事件,但您可以配置触发器,以便在工作项开始后的特定时间段内追加匹配事件。例如,如果您期望工作项在触发器将其启动后运行较长时间,则您可以配置触发器,以在工作项运行后的前 10 分钟追加后续匹配事件。10 分钟后,触发器停止追加匹配事件。

注:单个事件可以触发或追加到多个工作项。

Append to Previous Work Item If(如满足条件则追加至上一个工作项)选项卡提供了以下表达式:

Any event from event source if this event initiated new work item(来自事件源的任何事件,如果此事件启动了新工作项)

此表达式将来自同一计算机、业务服务、资源组或业务服务角色的任何事件作为之前启动工作项的事件进行匹配。触发器不评估事件上的任何其他属性。例如,如果触发器之前曾在 Workflow Automation 收到 Exchange Servers 资源组中的事件时启动了工作项,则您可以通过将表达式配置如下,以在现有工作项的前 10 分钟内将其他匹配事件追加到现有工作项中:

Any event matching attributes of the event that initiated new work item(匹配启动新工作项事件属性的任何事件)

此表达式具有以下子表达式:

  • Event attribute matching attribute of event(s) that initiated new work item(事件属性匹配启动新工作项的事件属性)- 将当前事件的属性值与启动工作项的事件属性值进行比较,类似于 SQL JOIN 语句的 ON 子句。要评估当前事件的多个属性,请添加此子表达式的多个实例。如果多个事件启动了工作项,则当前事件上的属性值可以与触发事件的一个或多个属性匹配。这是主要的子表达式。其他子表达式是限定符。

  • Attribute of event(s) that initiated new work item matching event value(启动新工作项的事件属性匹配事件值)- 将触发事件的属性与特定值进行比较,类似于 SQL JOIN 语句中的 WHERE 子句。要评估触发事件上的多个属性,添加此子表达式的多个实例。如果多个事件启动了工作项,触发器将评估所有这些事件。为了获得最佳结果,请将此子表达式用作 Event attribute matching attribute of event(s) that initiated new work item(事件属性匹配启动新工作项的事件属性)子表达式的限定符。不要单独使用该子表达式。

  • Event attribute matching event value(事件属性匹配事件值)- 将当前事件属性的值与特定值进行比较,类似于 SQL JOIN 语句中的 WHERE 子句。要评估当前事件的多个属性,请添加此子表达式的多个实例。为了获得最佳结果,请将此子表达式用作 Event attribute matching attribute of event(s) that initiated new work item(事件属性匹配启动新工作项的事件属性)子表达式的限定符。不要单独使用该子表达式。

例如,如果触发器之前曾在 Workflow Automation 收到 AppManager 事件时启动了工作项,则您可以在其前 10 分钟内将新的 AppManager 追加到现有工作项中,前提是:

  • 新事件来自与原始事件相同的计算机

  • 触发事件属于特定资源组,如 Resource Group A(资源组 A)

  • 新事件具有与之相关的特定知识脚本,例如 NT_NetworkBusy

将子表达式配置如下:

此配置像采用如下语法的 SQL JOIN 语句一样运作:

SELECT *

FROM NewEvent

INNER JOIN TriggeringEvent

ON NewEvent.ComputerName=TriggeringEvent.ComputerName

WHERE TriggeringEvent.ResourceGroup = ResourceGroupA AND NewEvent.KSName = NT_NetworkBusy

NewEvent 是新的 AppManager 事件,TriggeringEvent 是启动工作项的 AppManager 事件。

Any event of a specific type and attribute value(具备特定类型和属性值的任何事件)

此表达式匹配其中一个属性具备特定值的单个事件。例如,如果触发器之前曾在 Workflow Automation 收到 KS 名称为 NT_SystemUptime 的 AppManager 事件时启动了工作项,则您可以通过将表达式配置如下,将 KS 名称为 NT_SystemUptime 的其他匹配事件追加到现有工作项:

Any event of a specific type from event source if this event initiated new work item(来自事件源的特定类型的任何事件,如果此事件启动了新的工作项)

此表达式匹配来自特定计算机、业务服务、资源组或业务服务角色的单个事件。

如果使用基本事件,触发器不会评估事件上的任何其他属性。例如,如果触发器之前曾在 Workflow Automation 在 Exchange Servers 资源组中收到事件时启动了工作项,则您可以通过将表达式配置如下,将来自相同资源组的其他匹配事件追加到现有工作项中:

如果使用命名事件,触发器可确保事件与命名事件上的指定属性值匹配。例如,如果触发器之前曾在 Workflow Automation 收到针对 Exchange Servers 资源组的 Exchange Server Down(Exchange Server 关闭)事件时启动了工作项,则您可以通过将表达式配置如下,将来自同一资源组的其他匹配事件追加到现有工作项中:

One event of a specific type(一个特定类型的事件)

此表达式匹配一个特定事件。时间窗口不适用。

如果使用基本事件,触发器不会评估进来的事件上的任何属性值。例如,如果触发器之前曾在 Workflow Automation 收到 vCenter 事件时启动了工作项目,则可以通过将表达式配置如下,将其他匹配事件追加到现有工作项中:

如果使用命名事件,触发器可确保事件与命名事件上的指定属性值匹配。例如,如果触发器之前曾在 Workflow Automation 收到 VM Detected Down(检测到 VM 关闭)命名事件时启动了工作项,则您可以通过将表达式配置如下将其他匹配事件追加到现有工作项中:

3.3 使用“不等于”触发器比较

在配置触发器时,您可以使用 is not equal to(不等于)触发器比较来告诉触发器仅在新事件属性值不等于指定值时才生效。例如,只有当新事件中的 Business Service Name(业务服务名称)属性的值不等于 Email Business Service(电子邮件业务服务)时,以下触发器才会启动工作项:

当您使用 is not equal to(不等于)触发器比较时,触发器会忽略以下事件属性中的空值:

  • Business Service ID(业务服务 ID)

  • Business Service Name(业务服务名称)

  • Business Service Role(业务服务角色)

  • Computer ID(计算机 ID)

  • Computer Name(计算机名称)

  • Knowledge(知识)

  • Resource Group ID(资源组 ID)

  • Resource Group Name(资源组名称)

例如,如果上一个截图中的 Business Service Name(业务服务名称)属性具有空值,则触发器会忽略该事件,并且不启动工作项,即使空值不等于指定的比较值。

要配置触发器,以便为具备不等于指定比较值的空值事件启动工作项,请创建一个命名事件并将其与触发器关联起来。以下示例详细说明了一个将 AppManager 事件与 Business Service Name(业务服务名称)值不等于 Email Business Service(电子邮件业务服务),包括空值进行匹配的命名事件:

其中 empty(空)表示您在命名业务服务时不使用的任何文本字符串。

有关命名事件的更多信息,请参见了解命名事件

3.4 了解触发器自定义属性

当您配置触发器时,您可以使用 Custom Attributes(自定义属性)选项卡创建触发器传递给由其启动的每个工作项的自定义属性和值。流程作者可以使用 Input Builder 引用条件连接器和活动中的触发器自定义属性。

注:

  • 流程作者还可以在工作项级别定义自定义属性。有关在工作流程中定义自定义工作项属性的更多信息,请参见自定义工作项属性

  • 如果自定义工作项属性与触发器自定义属性的名称相同,则自定义工作项属性中的值将覆盖触发器自定义属性中的值。

如果多个触发器传递同名的自定义属性,则 Input Builder 会显示一个,该集代表所有具有相同名称的触发器自定义属性。

例如,您可以将以下触发器与 Start of Workflow(工作流程开始)活动关联:

如果触发器 1 从工作流程中启动一个工作项,则会传递下列触发器自定义属性:

如果触发器 2 从工作流程中启动一个工作项,则会传递以下触发器自定义属性:

当您使用 Input Builder 引用触发器自定义属性时,您会看到以下列表:

在可用触发器自定义属性列表中,AB 代表来自不同触发器的多个同名触发器自定义属性集。将多个触发器自定义属性组合到单个集中,可帮您减少设计时需要添加到工作流程中的逻辑量。无论哪个触发器启动了工作项,您都可以将工作流程配置为仅引用一个触发器自定义属性。有关使用 Input Builder 引用触发器自定义属性的更多信息,请参见了解 Input Builder

3.5 修改现有触发器

如果您需要更新现有触发器,您可以创建新的触发器修订。新的触发器修订可用于新流程或工作流程修订,但不会替换任何生产中工作流程修订中的原始触发器。要修改生产中工作流程修订的触发器,请克隆工作流程修订,然后修改触发器。有关克隆工作流程修订的更多信息,请参见克隆工作流程修订

3.6 了解抽象触发器修订

抽象触发器修订允许 Workflow Automation 将使用触发器的工作流程修订升级到最新的触发器修订。Workflow Automation 在 Start of Workflow(工作流程开始)中提供下列抽象的触发器修订:

  • N.* 表示具有特定主要修订编号 N 最高次要修订编号的最新触发器修订。例如当您创建“工作流程修订 A”并指派触发器 A 的抽象修订 1.*,当前触发器修订为 1.1。当 Workflow Automation 升级工作流程修订时,Workflow Automation 将触发器 A 升级为修订 1.5,这是最新的 1.* 修订,而不是触发器 A 的最新修订,即 2.2。

  • *.* 表示具备最高主要次要修订编号的最新触发器修订。例如,当您创建工作流程修订 B 并指派抽象修订是 *.* 的触发器 A,当前触发器修订为 1.1。当Workflow Automation 升级工作流程修订时,Workflow Automation 升级到触发器 A 的最新修订,即 2.2。

Workflow Automation 在以下场景中升级到最新触发器修订:

将工作流程修订投入生产

当您首次将带有抽象触发器修订的工作流程修订投入生产时,Workflow Automation 会根据指定抽象修订的规则指派最新的触发器修订。有关将工作流程投入生产的更多信息,请参阅将工作流程修订投入生产

创建新的触发器修订

当您创建新的触发器修订时,Workflow Automation 会验证任何工作流程修订是否引用了触发器的抽象修订之一,并显示 Deploy Trigger Updates(部署触发器更新)窗口。Workflow Automation 忽略当前正在构建的工作流程修订。

手动部署触发器更新

当您手动部署特定触发器的触发器更新时,Workflow Automation 会验证任何工作流程修订是否引用了触发器的抽象修订之一,并显示 Deploy Trigger Updates(部署触发器更新)窗口。Workflow Automation 忽略当前正在构建的工作流程修订。

在每种情况下,Workflow Automation 都会将工作流程修订列表限制为您有权查看、克隆和投入生产的那些。

部署触发器更新时,Workflow Automation 会克隆指定的工作流程修订,然后将克隆投入生产,从而升级所有触发器以使用其最新的触发器修订。有关克隆工作流程修订的更多信息,请参见克隆工作流程修订

如果升级当前已停止生产的工作流程修订,克隆仍将保持退出生产。

3.7 了解手动触发器

Workflow Automation 提供手动触发器,您可以将其与任何流程关联。手动触发器需要人为干预才能启动工作项,并允许用户随时从流程中启动工作项。一个流程只能有一个手动触发器。

4.0 处理流程和工作流程

流程包括为响应数据来源发送到 Workflow Automation 的事件而采取的步骤。要建立您的 IT 策略治理模型,您必须定义您在整个环境中响应特定事件时使用的 IT 流程。Workflow Automation 根据您的团队所定义的用来体现 IT 策略的流程评估进来的事件。

每个流程都有关联的工作流程。工作流程是对流程中各个步骤的图形表示,由活动和连接器组成,旨在反映特定 IT 策略,如下图中所示。当来自数据来源的一个或多个事件与流程的触发器标准匹配时,Workflow Automation 执行流程并启动工作项。

使用工作流程设计器来优化流程工作流程,直到它与您针对处理、响应和结束事件的 IT 策略相符。在执行过程中,工作流程会以特定顺序(称为流程)访问活动并遍历连接器。“工作流程开始”活动的是工作流程执行的第一个活动。如果工作流程包含多个“工作流程开始”活动,则工作流程可以同时有多个流程,如下图所示。

当工作流程遍历活动中的多个连接器或触发器将新事件追加到工作项时,工作流程还会创建多个流程。没有活动流程时,执行将终止。

注:具有相同终止点的多个流程可以在不同时间终止。

4.1 了解流程术语

要了解 Workflow Automation 如何使用您定义的流程,您应该了解以下术语:

工作项

进程的单个实例,由进来的事件触发或手动触发。在触发器启动工作项之前,流程处于空闲状态。单个流程可能有多个工作项同时运行。

活动

流程中执行特定功能的步骤,例如启动工作流程、联接多个流程、等待进来的事件或停止工作流程。有关活动的更多信息,请参见了解工作流程活动

触发器

与进程关联的一组规则,决定如何响应进来的事件,例如启动新工作项或将事件追加到现有工作项。手动触发器需要人工干预才能启动工作项。有关触发器的更多信息,请参见了解触发器

4.2 了解工作流程活动

工作流程设计器提供以下基本活动类型,您可以使用这些类型来构建工作流程。

Start of Workflow(工作流程开始)

当工作流程的相关触发器与数据来源的传入事件匹配时,启动工作流程。

一个工作流程可以有多个 Start of Workflow(工作流程开始)活动,同时创建多个流程。

当您将触发器与活动关联时,您可以选择抽象触发器修订。有关抽象触发器修订的更多信息,请参见了解抽象触发器修订

任务

执行特定任务,如在继续之前收集用户输入或发送电子邮件。关联的代码或模块将执行任务。

Workflow Automation 提供了几个活动库,根据功能对任务活动进行分组。每个 Workflow Automation 适配器都提供自己的产品特定活动库。

Workflow Automation 或适配器库中的 Task(任务)活动具有代表其功能的图标,例如 Send Email(发送电子邮件)活动。

连接

允许将流程拆分为多个平行流程或将两个或两个以上的平行流程合并成一个。

Join(联接)活动要求工作流程在继续执行下一项活动之前满足所有进来的条件连接器的条件。有关通过 Join(联接)活动满足多个条件连接器的更多信息,请参见了解联接活动如何与条件连接器交互

等待新电子邮件讯息

等待与定义的过滤器匹配的进来的讯息。如果匹配讯息未在指定时间范围内到达,则进程将继续。

暂停指定时间

等待指定的一段时间或指定时间后再继续。

捕获工作流程错误

等待工作流程中出现错误。

此活动在主流程之外。当发生错误时,流程“跳”到此活动,然后向下继续处理错误的备用流程,然后重新加入主流程。

工作流程结束

标志着流程的结束。

工作流程可以具有多个结束活动,具体取决于子流的数量。

如果工作流程具有多个流程,但只有一个 End of Workflow(工作流程结束)活动,则会在第一个流程终止时显示“已完成”图标,即使其他流程仍然处于活动状态。

4.3 了解 Input Builder

Input Builder 允许您为活动输入参数构建动态值。动态值是 Input Builder 在运行时为其获取值的变量。您还可以构建复杂的字面值。Input Builder 还可用于配置控制台中的某些字段。 有关使用 Input Builder 构建输入值的具体示例,请参阅工作流程示例中的工作流程示例。

Input Builder 允许您构建具备以下一个或多个输入要素的值:

活动输出参数

从工作流程中的另一项活动检索输出值。您可以从工作流程中的任何活动检索任何输出参数,例如激活 Start of Workflow(工作流程开始)活动的触发器的名称。此要素仅在工作流程设计器中可用。

活动执行参数

检索与整个工作流程过程中特定活动的开始时间、结束时间或持续时间相关的信息。此要素仅在工作流程设计器中可用。

事件属性

从触发工作项的事件中检索指定属性值,如电子邮件事件的主题行。

工作项属性

从当前工作项检索指定属性值,如主题或说明。您还可以检索自定义工作项属性。

触发器自定义属性

从启动工作项的触发器中检索指定属性值。此要素仅在工作流程设计器中可用。

全局设置

在运行时从指定的全局设置检索值,如电子邮件服务器的名称或操作控制台的 URL。

输入表单链接

检索与指定的 Collect Input from User(收集用户输入)活动关联的用户输入表单的 URL。有关更多信息,请参见链接到用户输入表单

自由格式文本

允许您将文本添加到构建值。例如,如果您在工作流程中使用 Send Email(发送电子邮件)活动,则可以使用 Input Builder 构建具备自由格式文本和活动输出参数组合的讯息正文。您键入的文本对每个工作项都是相同的。变量在运行时检索值。

新行

为构建值添加一个新行。例如,如果您在工作流程中使用 Send Email(发送电子邮件)活动,您可以使用 Input Builder 构建包含字面值和变量组合的讯息正文。您可以用一条或多条新行将文本块隔开。此元素仅在工作流程设计器中可用。

空格

为构建值添加一个空格。例如,如果您想在输入参数中指定用户的全名,并且必须将名字和姓氏作为单独的值进行检索,则您可以使用 Input Builder 在运行时将两个值串联为一个值,并由空格隔开。

空字符串

为构建值添加一个空字符串。例如,如果输入参数在设计时需要一个条目,但您想要指定一个空值,则可以使用 Input Builder 用空字符串填充输入参数。

制表符

为构建值添加一个制表符。例如,如果您想要构建文本文件的内容,则可以插入一个制表符来缩进段落的开头。

4.4 了解用户输入表单

用户输入表单允许 Workflow Automation 用户(通常是流程操作员)与工作项进行交互,并提供关联工作流程完成任务所需的反馈。例如,如果您正在构建工作流程以重启动服务,而且重启动需要批准,则您可以使用 Collect Input from User(收集用户输入)活动暂停工作流程并等待批准。根据用户的响应,工作流程可以重启动服务或停止。

4.4.1 链接到用户输入表单

如果您不希望用户与操作控制台交互,则可以发送包含指向特定用户输入表单的链接的电子邮件。当用户单击电子邮件中的链接并登录时,输入表单会显示在浏览器窗口中。用户在操作控制台中看不到完整的工作流程或任何其他数据。

Workflow Automation 支持以下 Web 浏览器中的用户输入表单:

  • Mozilla Firefox

  • Google Chrome

  • Microsoft Internet Explorer 11、Edge

如要创建指向用户输入表单的链接:

  1. 在工作流程设计器中,将 Send Email(发送电子邮件)活动和 Collect Input from User(收集用户输入)活动拖动至设计网格。

  2. 使用连接器联接活动,从 Send Email(发送电子邮件)活动到 Collect Input from User(收集用户输入)活动。

  3. 双击 Send Email(发送电子邮件)活动,然后完成以下步骤:

    1. 在 Values(值)选项卡上的 Body(正文)参数旁边,选择 Use Input Builder(使用 Input Builder)复选框。

    2. 在 Body(正文)参数的 Value(值)字段中,单击 Input Builder

    3. 在 Input Builder 窗口中,单击 New Input Element(新输入要素),然后单击 Input Form Link(输入表单链接)。

    4. 在 Input Form Activity Name(输入表单活动名称)下,选择 Collect Input from User(收集用户输入),然后单击 OK(确定)。

      注:如果您配置了多个 Collect Input from User(收集用户输入)活动,请确保选择已连接至您所配置的 Send Email(发送电子邮件)活动的一个。

    5. 在 Input Builder 窗口,单击 OK(确定)。

    6. 在活动属性窗口中,配置剩余的输入参数,然后单击 OK(确定)。

  4. 配置 Collect Input from User(收集用户输入)活动以及您添加到工作流程中的任何其他活动。

注:有关创建工作流程的具体示例,请参见工作流程示例

4.4.2 自定义用户输入表单

您可以通过修改以下级联样式表来更改环境中用户输入表单的外观:

  • InputForm.css - 与输入表单和表单字段相关的样式

  • LoginDialog.css - 与登录窗口相关的样式

  • MainLayout.css - 与横幅、页脚和主面板相关的样式

  • Page.css - 与主面板内的登录视图和输入表单视图相关的样式

.css 文件通常位于 Web 服务器计算机的 C:\Program Files\NetIQ\WFA\AegisWebApp\css 文件夹中。

注:如果您修改环境中的 .css 文件,请确保在升级到下一个版本之前将其备份。升级完成后,您可以将其还原,并替换升级所安装的 .css 文件。

4.5 了解工作流程连接器

工作流程使用连接器从一个活动行进到另一个活动。当您将连接器添加到工作流程中时,您可以指定该连接器是有条件的还是无条件的。无条件连接器始终允许工作流程从一个活动遍历到另一个活动。条件连接器使用条件表达式来确定工作流程是否可以遍历。

4.5.1 配置连接器

配置连接器的基本步骤对于条件连接器和无条件连接器都是相同的。

如要配置连接器:

  1. 在 Workflow(工作流程)选项卡上的 Tool(工具)组中,单击 Connect Activities Tool(连接活动工具)。

  2. 在您希望连接器从其发出的活动中,单击相应的端口,然后将指针拖动到您希望工作流程前往的活动的相应端口上。

    提示:

    • 当工具悬停其上时,活动的端口会变成一个红色的方框。

    • 连接器会根据您选择的端口自动选择最佳“路线”。要切换到手动模式,请按下空格键。

    • 当连接活动工具处于活动状态时,您可以绘制所需的所有连接器。

  3. 要切换回标准指针工具,在 Workflow(工作流程)选项卡的 Tools(工具)组中,单击 Selection Tool(选择工具)。

  4. 如果 Connector Properties(连接器属性)窗口未自动显示,则右键单击连接器,然后单击 Properties(属性)。

  5. 验证 From(自)和 To(至)字段指定了正确的活动。

    提示:您可以使用 From(自)和 To(至)字段来连接相应的活动,而无需手动定位连接器的末端。

  6. 选择所需的操作以:

    • 反转连接器的流,单击 Reverse Connector(反向连接器)

    • 配置无条件连接器,单击 Always traverse this connector(始终遍历此连接器)

    • 配置条件连接器,完成以下步骤:

      1. 单击 Only traverse this connector when the following conditions are met(仅在满足条件时遍历此连接器)。

      2. 在“条件表达式”下,单击 Create Expression(创建表达式)以启动表达式编辑器窗口。

      3. 在表达式编辑器窗口中,配置条件表达式,然后单击 OK(确定)。有关条件表达式的更多信息,请参见了解条件表达式

  7. 在 Connector Properties(连接器属性)窗口中,单击 OK(确定)。

4.5.2 了解条件表达式

条件表达式包含以下一个或多个组件:

运算符

运算符是一个复杂的规则,例如 Has All of the following(具备以下所有),它将规则捆绑在一起,并使用 Boolean 逻辑来管理它们的关联方式。运算符可能将其他运算符作为后代,从而创建无限嵌套级别。

要将新运算符添加到条件表达式中,请单击 New Template(新模板),然后选择下列其中一个:

  • All(所有),要求工作流程匹配后面规则的组合

  • Any(任意),要求工作流程与后面任何或全部规则相匹配

  • None(都不),要求工作流程与后面规则的组合不匹配

  • Not Any(非任何项),要求工作流程与后面任何或全部规则不匹配

参数表达式

评估来自工作流程中之前活动的输出参数的值。例如,您可以规定连接器只有在 Send Email(发送电子邮件)活动的 Status of the send(发送状态)参数的值等于 Succeeded(已成功)时才允许工作流程进行遍历。

活动执行属性表达式

评估特定活动的开始时间、结束时间或持续时间的值。例如,您可以规定连接器仅在 Find Objects(查找对象)活动完成时间少于 60 秒时才允许工作流程遍历它。

事件属性表达式

评估触发事件属性的值。将来自触发事件的属性追加到工作项。例如,您可以规定连接器仅在事件类型等于 Aegis.Event,且 Business Service Name(业务服务名称)属性值等于 Messaging Service(讯息服务)时,才允许工作流程遍历它。

工作项属性表达式

评估工作项属性的值。例如,您可以规定连接器仅在 Work Item Resource Groups(工作项资源组)属性值等于 Exchange Servers 时才允许工作流程遍历它。

触发器自定义属性表达式

评估触发器上定义的自定义属性的值。例如,您可以规定连接器仅在触发器自定义属性 Cause(原因)的值等于 Exchange server down(Exchange Server 关闭)时才允许工作流程遍历它。

全局设置表达式

评估指定全局设置的值,例如电子邮件服务器的名称或操作控制台的 URL。例如,您可以指定连接器仅在电子邮件服务器计算机名称与您提供的值匹配时才允许工作流程进行遍历。

4.5.3 了解联接活动如何与条件连接器交互

Join(联接)活动要求工作流程遍历所有传入的连接器,然后才能进行工作流程中的下一个活动。如果条件表达式阻止工作流程遍历所有连接器,则 Join(联接)活动无法继续。例如,如果工作流程拆分为两个并行流,一个从活动 A 开始,另一个从活动 B 开始,则 Join(联接)活动有三个传入连接器。

工作流程始终遍历 A 和 Join(联接)之间的无条件连接器,但 B 之后的条件连接器需要工作流程执行 CD。如果工作流程无法遍历 D 和 Join(联接)活动之间的连接器,则 Join(联接)活动将无法继续。

为确保工作流程能够遍历所有进入 Join(联接)活动的连接器,请在活动 CD 以及 Join(联接)活动之间添加一个 No Operation(无操作)活动(活动 E)。这样,工作流程将始终能够遍历进入 Join(联接)活动的所有连接器,Join(联接)活动也能够继续进行到工作流程中的下一个活动。

4.6 在工作流程活动中处理字符串

在设计工作流程时,如果手动将包含单引号的字符串键入输入参数,Workflow Automation 会从字符串中剥离单引号。例如,如果您在 Echo (回应)活动中键入 ',',则输出将是没有单引号的逗号。

为确保 Workflow Automation 不会从字符串中剥离单引号,请进行下列其中一项操作:

  • 用另一个单引号转义该单引号。例如 '',''

  • 使用 Input Builder 中的自由格式文本选项键入字符串。

4.7 创建一个流程

以下核对清单概述了创建新流程及其关联工作流程的步骤。

 

核对清单项目

  1. 在导航窗格中,单击 Getting Started(开始)。

  1. 在“开始”窗格中,单击 Create Process(创建流程)以启动流程创建向导。

  1. 完成流程创建向导。

  1. 如果要在完成向导后自动打开工作流程设计器,请在 Process Properties(流程属性)选项卡上选择 Open Workflow Designer(打开工作流程设计器)复选框。

  1. 单击 Finish(完成)以保存流程并启动工作流程设计器。

  1. 为工作流程配置活动。有关配置活动的分步示例,请参见工作流程示例

  1. 配置连接器。有关配置连接器的更多信息,请参见了解工作流程连接器

  1. 验证工作流程。有关验证工作流程的更多信息,请参见验证工作流程

  1. 当您准备好使用该流程时,请将工作流程修订投入您的生产环境中。有关更多信息,请参见将工作流程修订投入生产

4.8 工作流程示例

这些主题为从头到尾创建示例工作流程提供了分步指导。

4.8.1 查找具有最少 AppManager 代理的管理服务器

如果您安装 AppManager 集成适配器(AppManager 适配器),则可以设计一个工作流程,以确定在部署下一个 AppManager 代理时在 AppManager 环境中要使用的管理服务器 (MS)。环境中的每个 AppManager 代理都有一个主 MS 和可选的辅助 MS。理想情况下,每个 MS 都会处理具有类似数量代理的类似工作负载。

为了帮助平衡与您的 AppManager 环境中的每个 MS 关联的 AppManager 数量,您可以创建以下工作流程:

  • 一个父工作流程,使用 Add Computer to Deployment Rule(将计算机添加到部署规则)活动将新的 AppManager 代理部署到您想要监视的服务器上。AppManager 中的部署规则可能因服务器而异,工作流程会根据您要配置为新代理的主 MS 的 MS 来确定要使用的规则。当父工作流程需要用作新代理的主 MS 的 MS 的名称时,它会启动子工作流程。在子工作流程提供 MS 的主机名称后,父工作流程部署代理并指派指定的 MS 作为代理的主 MS。

  • 一个子工作流程,决定哪个 MS 是当前代理数量最少的主 MS。子工作流程将 MS 的主机名称发送到父工作流程。

此示例将引导您创建子工作流程。

假设

此示例作以下假设:

  • 存在父工作流程以启动此工作流程

  • Workflow Automation 仅与一个 AppManager 环境进行通信

  • 部署规则名称基于他们指派作为代理的主 MS 的 MS

  • AppManager 环境中没有 UNIX 计算机

构建工作流程

完成此示例程序后,您的工作流程应看起来像这样:

如要创建工作流程以确定部署下一个 AppManager 代理的位置:

  1. 在 Library Browser(库浏览器)中,将以下活动从指定的活动库拖动至设计网格:

    活动

    Start of Workflow(工作流程开始)

    基本工作流程控制

    Find Objects (2)(查找对象 (2))

    基本工作流程控制

    For Each(为每一个)

    基本工作流程控制

    Extract Nth Match of Regular Expression(提取正则表达式的第 N 个匹配项)

    数据处理

    Set Work Item Attributes(设置工作项属性)

    数据处理

    Echo State(回应状态)

    基本工作流程控制

    Set Process Result(设置流程结果)

    基本工作流程控制

    End of Workflow(工作流程结束)

    基本工作流程控制

  2. 使用连接器按以下顺序联接活动:

    • Start of Workflow(工作流程开始)至 Find Objects (1)(查找对象”(1))

    • Find Objects (1)(查找对象”(1))至 For Each(为每一个)

    • For Each(为每一个)至 Extract Nth Match of Regular Expression(提取正则表达式的第 N 个匹配项)

    • Extract Nth Match of Regular Expression(提取正则表达式的第 N 个匹配项)至 Find Objects (2)(查找对象 (2))

    • Find Objects (2)(查找对象 (2)) 至 Set Work Item Attributes(设置工作项属性)

    • Find Objects (2)(查找对象 (2))至 For Each(为每一个)

    • Set Work Item Attributes(设置工作项属性)至 For Each(为每一个)

    • For Each(为每一个)至 Echo State(回应状态)

    • Echo State(回应状态)至 Set Process Result(设置流程结果)

    • Set Process Result(设置流程结果)至 End of Workflow(工作流程结束)

  3. 在 Properties(属性)组中的 View(视图)选项卡上,单击 Workflow Properties(工作流程属性)。

  4. Work Item(工作项)选项卡上,添加两个具有以下属性的自定义工作项属性:

     

    属性 1

    属性 2

    名称

    minimumAgentCount

    MSwithLowestNumberofAgents

    显示名称

    Minimum Agent Count(最小代理计数)

    MS with Lowest Number of Agents(代理数量最低的 MS)

    类型

    整数

    字符串

    1000000

    MSwithLowestNumberofAgents

    说明

    存储 MS 上代理数量最少的值(默认值为 1000000,因此始终会在第一个循环中重设置)

     

    只读

  5. 在 Workflow Properties(工作流程属性)窗口中,在 Custom Work Item Attributes(自定义工作项属性)下,使用 Move Up(向上移动)或 Move Down(向下移动)按钮,以确保 minimumAgentCount 处于第一个评估位置。

  6. 单击 OK(确定)。

  7. 双击 Start of Workflow(工作流程开始)活动,然后完成以下步骤:

    1. 在 Trigger(触发器)选项卡上,单击 Add(添加)。

    2. 在 Available Trigger(可用触发器)下,选择 Manual Trigger(手动触发器),然后单击 Add(添加)。

    3. 单击 OK(确定)。

  8. 双击第一个 Find Objects(查找对象)活动,然后完成以下步骤:

    1. 在 General(常规)选项卡上,在名称字段中键入 Get Management Servers(获取管理服务器)。

    2. 在 Query(查询)选项卡上,在 Object Type(对象类型)下选择 AppManager > AppManager Repository(AppManager 储存库) > Windows Computer(Windows 计算机),然后单击 OK(确定)。

    3. 单击 Windows Computer(Windows 计算机)子选项卡。

    4. 单击 Create Filter(创建过滤器)。

    5. 在 Expression Editor(表达式编辑器)窗口中,单击 New Template(新模板),然后单击 Expression(表达式)。

    6. 单击 <attribute>,选择 Management Server(管理服务器),然后单击 OK(确定)。

    7. 单击 <属性值>,然后单击 Enter Simple Value(输入简单值)。

    8. 单击 true

      此表达式确保活动仅检索 AppManager 适配器命名空间中的管理服务器计算机。

    9. 在 Expression Editor(表达式编辑器)窗口中,单击 OK(确定)。

    10. 选择 Generate Object Locators(生成对象定位器)复选框。

    11. 单击 OK(确定)。

  9. 双击 For Each(为每一个)活动,然后完成以下步骤:

    1. 在 General(常规)选项卡上,在名称字段中键入 For Each MS(为每一个 MS)。

    2. 单击 Value(值)选项卡。

    3. 对于 Input Array(输入数组)参数,请选择 Use Input Builder(使用 Input Builder)复选框。

    4. 在 Input Array(输入数组)参数的 Value(值)字段中,单击 Input Builder 按钮。

    5. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Activity Output Parameter(活动输出参数)。

    6. 在 Output Parameter Name(输出参数名称)下,展开 Get Management Servers(获取管理服务器),选择 Object Locators(对象定位器),然后单击 OK(确定)。

      对象定位器输出参数是一个字符串数组,其中包含 AppManager 适配器命名空间中的管理服务器计算机列表。

    7. 在 Input Builder 窗口,单击 OK(确定)。

    8. 在 Start Index(开始索引)参数的 Value(值)字段中,指定您希望 For Each(为每一个)活动在第一次通过循环时从其检索值的输入字符串数组中的位置。默认值为 0,它引用了字符串数组中的第一个元素。

      在每次通过循环时,活动将指定的增量添加到当前索引中以计算下一个索引输出参数。该活动在下一次通过循环时使用 Next Index(下一个索引)。在第一次通过时,活动将开始索引指派给 Current Index(当前索引)输出参数。例如,如果 Start Index(开始索引)为 0,且 Increment(增量)为 1,则活动首次执行时,它会从字符串数组中的索引位置 0 检索值,然后将 Next Index(下一个索引)设置为 1。活动执行第二次时,活动从字符串数组中的索引位置 1 检索值,然后将下一个索引设置为 2。该活动会在每次执行时增加索引值,直到下一个索引等于或大于字符串数组中的最后一个索引位置。

    9. 在活动属性窗口中,单击 OK(确定)。

  10. 双击 For Each MS(为每一个 MS)和 Extract Nth Match of Regular Expression(提取正则表达式的第 N 个匹配项)之间的连接器,然后完成以下步骤:

    1. 选择 Only traverse this connector when the following conditions are met(仅在满足以下条件时遍历此连接器)。

    2. 在条件表达式下,单击 Create Expression(创建表达式)。

    3. 在 Expression Editor(表达式编辑器)窗口中,单击 New Template(新模板),然后单击 Parameter Expression(参数表达式)。

    4. 单击 <参数名称>,展开 For Each MS(为每一个 MS),然后选择 Complete(完整),接下来单击 OK(确定)。

    5. 单击 <属性值>,然后单击 Enter Simple Value(输入简单值)。

    6. 单击 false

      在 For Each MS(为每一个 MS)活动处理管理服务器计算机列表的过程中,该表达式允许工作流程采用这条路径。当 For Each MS(为每一个 MS)活动处理字符串数组中的最后一台管理服务器计算机时,它会将 完整(Complete)输出参数设置为 true,并且该表达式阻止工作流程采用这条路径。

    7. 在 Expression Editor(表达式编辑器)窗口中,单击 OK(确定)。

    8. 取消勾选 Show Label(显示标签)。

    9. 单击 OK(确定)。

  11. 双击 For Each MS(为每一个 MS)和 Echo State(回应状态)之间的连接器,然后完成以下步骤:

    1. 选择 Only traverse this connector when the following conditions are met(仅在满足以下条件时遍历此连接器)。

    2. 在条件表达式下,单击 Create Expression(创建表达式)。

    3. 在 Expression Editor(表达式编辑器)窗口中,单击 New Template(新模板),然后单击 Parameter Expression(参数表达式)。

    4. 单击 <参数名称>,展开 For Each MS(为每一个 MS),然后选择 Complete(完整),接下来单击 OK(确定)。

    5. 单击 <属性值>,然后单击 Enter Simple Value(输入简单值)。

    6. 单击 true

      只有在 For Each MS(为每一个 MS)活动处理字符串数组中的最后一台管理服务器计算机并将 Complete Output(完整输出)参数设置为 true 之后,表达式才允许工作流程采用此路径。

    7. 在 Expression Editor(表达式编辑器)窗口中,单击 OK(确定)。

    8. 取消勾选 Show Label(显示标签)。

    9. 单击 OK(确定)。

  12. 双击 Extract Nth Match of Regular Expression(提取正则表达式的第 N 个匹配项)活动,然后完成以下步骤:

    1. 在 General(常规)选项卡上,在名称字段键入 Get Name of MS(获取 MS 名称)。

    2. 单击 Value(值)选项卡。

    3. 对于 Input String(输入字符串)参数,请选择 Use Input Builder(使用 Input Builder)复选框。

    4. 在 Input String(输入字符串)参数的 Value (值)字段中,单击 Input Builder 按钮。

    5. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Activity Output Parameter(活动输出参数)。

    6. 在 Output Parameter(输出参数名称)下,展开 For Each MS(为每一个 MS),选择 Output Value(输出值),然后单击 OK(确定)。

      “输出值”输出参数包含管理服务器计算机的定位器。

    7. 在 Input Builder 窗口,单击 OK(确定)。

    8. 在 Regular Expression(正则表达式)参数下,键入以下内容;/IQAM_WindowsComputer=(\w+)

    9. Segments(段)参数中,键入 1(1)

    10. 选择 Output as String(输出为字符串)复选框。

    11. 在 Output String Separator(输出字符串分隔符)参数中,键入逗号 (,)。

    12. 单击 OK(确定)。

  13. 双击第二个 Find Objects(查找对象)活动,然后完成以下步骤:

    1. 在 General(常规)选项卡上,在名称字段中键入 Find # Agents on MS

    2. 在 Query(查询)选项卡上,在 Object Type(对象类型)下选择 AppManager > AppManager Repository(AppManager 储存库)> Windows Computer(Windows 计算机),然后单击 OK(确定)。

    3. 单击 Windows Computer(Windows 计算机)子选项卡。

    4. 单击 Create Filter(创建过滤器)。

    5. 在 Expression Editor(表达式编辑器)窗口中,单击 New Template(新模板),然后单击 Expression(表达式)。

    6. 单击 <attribute>,选择 Primary Management Server(主管理服务器),然后单击 OK(确定)。

    7. 单击 is equal to(等于),然后单击 contains(包含)。

    8. 单击 <属性值>,然后单击 Use Input Builder(使用 Input Builder)。

    9. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Activity Output Parameter(活动输出参数)。

    10. 展开 Get Name of MS(获取 MS 名称),单击 Result String(结果字符串),然后单击 OK(确定)。

    11. 在 Input Builder 窗口,单击 OK(确定)。

    12. 在 Expression Editor(表达式编辑器)窗口中,单击 OK(确定)。

    13. 确保选择 Generate Object Locators(生成对象定位器)。

    14. 单击 OK(确定)。

  14. 双击 Find # Agents on MS(查找 MS 中代理的数量)和 For Each MS(为每一个 MS)之间的连接器,然后完成以下步骤:

    1. 选择 Only traverse this connector when the following conditions are met(仅在满足以下条件时遍历此连接器)。

    2. 在条件表达式下,单击 Create Expression(创建表达式)。

    3. 在 Expression Editor(表达式编辑器)窗口中,单击 New Template(新模板),然后单击 Parameter Expression(参数表达式)。

    4. 单击 <参数名称>,展开 Find # Agents on MS(查找 MS 中代理的数量),选择 Number of Object Locators(对象定位器数量),然后单击 OK(确定)。

    5. 单击等于,然后单击大于或等于

    6. 单击 <属性值>,然后单击 Use Input Builder(使用 Input Builder)。

    7. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Work Item Attribute(工作项属性)。

    8. 在 Custom Work Item Attributes(自定义工作项属性)下,单击 Minimum Agent Count(最小代理计数),然后单击 OK(确定)。

    9. 在 Input Builder 窗口,单击 OK(确定)。

    10. 在 Expression Editor(表达式编辑器)窗口中,单击 OK(确定)。

    11. 取消勾选 Show Label(显示标签)。

    12. 单击 OK(确定)。

  15. 双击 Find # Agents on MS(查找 MS 中代理的数量)和 Set Work Item Attributes(设置工作项属性)之间的连接器,然后完成以下步骤:

    1. 选择 Only traverse this connector when the following conditions are met(仅在满足以下条件时遍历此连接器)。

    2. 在条件表达式下,单击 Create Expression(创建表达式)。

    3. 在 Expression Editor(表达式编辑器)窗口中,单击 New Template(新模板),然后单击 Parameter Expression(参数表达式)。

    4. 单击 <参数名称>,展开 Find # Agents on MS(查找 MS 中代理的数量),选择 Number of Object Locators(对象定位器数量),然后单击 OK(确定)。

    5. 单击 is equal to(等于),然后单击 is less than(小于)。

    6. 单击 <属性值>,然后单击 Use Input Builder(使用 Input Builder)。

    7. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Work Item Attribute(工作项属性)。

    8. 在 Custom Work Item Attributes(自定义工作项属性)下,单击 Minimum Agent Count(最小代理计数),然后单击 OK(确定)。

    9. 在 Input Builder 窗口,单击 OK(确定)。

    10. 在 Expression Editor(表达式编辑器)窗口中,单击 OK(确定)。

    11. 取消勾选 Show Label(显示标签)。

    12. 单击 OK(确定)。

  16. 双击 Set Work Item Attributes(设置工作项属性)活动,然后完成以下步骤:

    1. 在 General(常规)选项卡上,在 Name(名称)字段中键入 Update MS with Lowest Agent Count(更新最低代理计数的 MS)。

    2. 单击 Attributes(属性)选项卡。

    3. 在 Available Custom Attributes(可用自定义属性)下,选择以下每个属性,然后单击 Add(添加):

      • Minimum Agent Count(最小代理计数)

      • MS with Lowest Number of Agents(代理数量最低的 MS)

    4. 在 Configured Custom Attributes(已配置的自定义属性)下,为 Minimum Agent Count(最小代理计数属性)选择 Use Input Builder(使用 Input Builder)复选框。

    5. 在 Minimum Agent Count(最小代理计数)参数的 Value (值)字段中,单击 Input Builder 按钮。

    6. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Activity Output Parameter(活动输出参数)。

    7. 在 Output Parameter Name(输出参数名称)下,展开 Find # Agents on MS(查找 MS 中代理的数量),选择 Number of Object Locators(对象定位器数量),然后单击 OK(确定)。

    8. 在 Input Builder 窗口,单击 OK(确定)。

    9. 在 Configured Custom Attributes(已配置的自定义属性)下,为 MS with Lowest Number of Agents(代理数量最少的 MS)属性选择 Use Input Builder(使用 Input Builder)复选框。

    10. 在 MS with Lowest Number of Agents(代理数量最少的 MS)参数的 Value(值)字段中,单击 Input Builder 按钮。

    11. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Activity Output Parameter(活动输出参数)。

    12. 在 Output Parameter(输出参数名称)下,展开 Get Name of MS(获取 MS 名称),选择 Result String(结果字符串),然后单击 OK(确定)。

    13. 在 Input Builder 窗口,单击 OK(确定)。

    14. 单击确定

  17. 双击 Echo State(回应状态)活动,然后完成以下步骤:

    1. 在 General(常规)选项卡上,在 Name(名称)字段中键入 Echo - MS with Lowest Agent Count(回应 - 最低代理计数的 MS)。

    2. 单击 Value(值)选项卡。

    3. 对于 Echo(回应)参数,选择 Use Input Builder(使用 Input Builder)复选框。

    4. Echo(回应)参数的 Value(值)字段,单击 Input Builder 按钮。

    5. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Work Item Attribute(工作项属性)。

    6. 在 Custom Work Item Attributes(自定义工作项属性)下,单击 MS with Lowest Number of Agents(代理数量最少的 MS),然后单击 OK(确定)。

    7. 在 Input Builder 窗口,单击 OK(确定)。

    8. 单击 OK(确定)。

  18. 双击 Set Process Result(设置流程结果)活动,然后完成以下步骤:

    1. 单击 Value(值)选项卡。

    2. Workflow Result(工作流程结果)参数设置为 Success(成功)。

    3. 对于 Workflow Output Value(工作流程输出值)参数,请选择 Use Input Builder(使用 Input Builder)复选框。

    4. 在 Workflow Output Value(工作流程输出值)参数的 Value(值)字段中,单击 Input Builder 按钮。

    5. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Activity Output Parameter(活动输出参数)。

    6. 在 Output Parameter“输出参数名称)下,展开 Echo - MS with Lowest Agent Count(回应 - 代理计数最低的 MS),选择 Echo(回应),然后单击 OK(确定)。

    7. 在 Input Builder 窗口,单击 OK(确定)。

    8. 单击 OK(确定)。

  19. 在工作流程设计器中,在 Workflow(工作流程)选项卡的 File(文件)组中,单击 Save Workflow(保存工作流程)。

  20. 在 Workflow(工作流程)选项卡的 File(文件)组中单击 Close Workflow Designer(关闭工作流程设计器)。

向工作流程添加功能

为了增加此工作流程的复杂性和功能,您可以添加以下一项或多项:

  • 多个环境 - Workflow Automation 可以与多个 AppManager 环境进行通信。例如,贵公司可能会在三个 AppManager 环境之间划分其管理服务器,每个环境都位于不同的地理位置。

  • UNIX 计算机上的代理 - 如果您的 AppManager 环境将代理部署到 Windows 和 UNIX 计算机,则您可以添加另一个 Find Objects(查找对象)活动来检索 UNIX 计算机上的所有代理,然后使用 Simple Calculator(简单计算器)活动将结果添加到 Find # Agents on MS(查找 MS 上的代理数量)活动的输出中。

  • 服务器类型 - 您的 AppManager 环境可能会根据管理服务器的功能将其划分为类似的组,例如 UNIX、Windows、Exchange Server 或 SQL 服务器。工作流程首先确定应向哪个组部署新代理,然后确定特定的 MS。

4.8.2 在虚拟机上创建快照

如果您为 VMware vCenter Server(vCenter 适配器)安装 Workflow Automation 适配器,则您可以设计一个工作流程,为现有虚拟机 (VM) 创建新的快照。在此示例中,工作流程有一个手动触发器。当流程操作员在操作控制台中手动触发工作流程时,工作流程会显示一个用户输入表单,要求提供以下信息:

  • 托管 VM 的数据中心名称

  • 要为其创建快照的 VM 名称

  • 新快照的名称

  • 对新快照的可选说明

  • 是否在快照中包含 VM 内存

  • 是否在创建快照时静止文件系统

在流程操作员提供所要求的输入后,工作流程查找 VM 并创建快照。

假设

此示例假设您的环境只有一个 vCenter 服务器,并且所有数据中心都有独特的名称。

构建工作流程

完成此示例程序后,您的工作流程应看起来像这样:

要创建一个工作流程以在虚拟机上创建新快照:

  1. 在 Library Browser(库浏览器)中,将以下活动从指定的活动库拖动至设计网格:

    活动

    Start of Workflow(工作流程开始)

    基本工作流程控制

    Collect Input from User(收集用户输入)

    电子邮件和用户互动

    Find Virtual Machines(查找虚拟机)

    VMware vCenter

    Create Snapshot(创建快照)

    VMware vCenter

    End of Workflow(工作流程结束)

    基本工作流程控制

  2. 使用连接器按以下顺序联接活动:

    • Start of Workflow(工作流程开始)至 Collect Input from User(收集用户输入)

    • Collect Input from User(收集用户输入)至 Find Virtual Machines(查找虚拟机)

    • Find Virtual Machines(查找虚拟机)至 Create Snapshot(创建快照)

    • Create Snapshot(创建快照)至 End of Workflow(工作流程结束)

  3. 双击 Start of Workflow(工作流程开始)活动,然后完成以下步骤:

    1. 在 Trigger(触发器)选项卡上,单击 Add(添加)。

    2. 在 Available Trigger(可用触发器)下,选择 Manual Trigger(手动触发器),然后单击 Add(添加)。

    3. 单击 OK(确定)。

  4. 双击 Collect Input from User(收集用户输入)活动,然后完成以下步骤:

    1. 在 Input Form(输入表单)选项卡上,单击 Edit(编辑)。

    2. 在 Create/Edit User Input Form(创建/编辑用户输入表单)向导的 General(常规)选项卡中,指定用户输入表单的标题,如 Snapshot Information(快照信息)。

    3. 键入说明,然后单击 Next(下一步)。

    4. 在 Create/Edit User Input Form(创建/编辑用户输入表单)向导的 Form Input Field(表单输入字段)选项卡中,按指定顺序添加以下字段定义:

      类型

      参数 ID

      参数名

      必需

      单行文本

      DataCenterName

      Datacenter Name(数据中心名称)

      单行文本

      VMName

      VM Name(VM 名称)

      单行文本

      SnapshotName

      Name of New Snapshot(新快照的名称)

      单行文本

      SnapshotDescription

      Snapshot Description(快照说明)(可选)

      复选框

      IncludeMemory

      Include VM Memory in Snapshot(在快照中包括 VM 内存)

       

      复选框

      Quiesce

      Quiesce File System(静止文件系统)

       

    5. 单击完成

    6. 单击确定

  5. 双击 Find Virtual Machines(查找虚拟机)活动,然后完成以下步骤:

    1. 在 Query(查询)选项卡上,选择 Generate Object Locators(生成对象定位器)。

    2. 单击 Datacenter(数据中心)子选项卡。

    3. 单击 Edit Filter(编辑过滤器)。

    4. 在 Expression Editor(表达式编辑器)窗口中,单击 New Template(新模板),然后单击 Expression(表达式)。

    5. 单击 <attribute>,选择 Datacenter name(数据中心名称),然后单击 OK(确定)。

    6. 单击 <属性值>,然后单击 Use Input Builder(使用 Input Builder)。

    7. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Activity Output Parameter(活动输出参数)。

    8. 展开 Collect Input from User(收集用户输入),单击 Datacenter Name(数据中心名称),然后单击 OK(确定)。

    9. 在 Input Builder 窗口,单击 OK(确定)。

    10. 在 Expression Editor(表达式编辑器)窗口中,单击 OK(确定)。

    11. 单击 Virtual Machine(虚拟机)子选项卡。

    12. 单击 Edit Filter(编辑过滤器)。

    13. 在 Expression Editor(表达式编辑器)窗口中,单击 New Template(新模板),然后单击 Expression(表达式)。

    14. 单击 <attribute>,然后选择 Inventory name(库存名称),然后单击 OK(确定)。

    15. 单击 <属性值>,然后单击 Use Input Builder(使用 Input Builder)。

    16. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Activity Output Parameter(活动输出参数)。

    17. 展开 Collect Input from User(收集用户输入),单击 VM Name(VM 名称),然后单击 OK(确定)。

    18. 在 Input Builder 窗口,单击 OK(确定)。

    19. 在 Expression Editor(表达式编辑器)窗口中,单击 OK(确定)。

    20. 单击 OK(确定)。

  6. 双击 Create Snapshot(创建快照)活动。

  7. Values(值)选项卡上,为每个输入参数完成以下步骤:

    1. 选择 Use Input Builder(使用 Input Builder)复选框。

    2. 在 Value(值)字段中,单击 Input Builder 按钮。

    3. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Activity Output Parameter(活动输出参数)。

    4. 对于每个输入参数,展开指定的活动,然后单击指定的输出参数。

      输入参数

      活动名称

      输出参数名

      Virtual Machines(虚拟机)

      Find Virtual Machines(查找虚拟机)

      Object Locators(对象定位器)

      Snapshot Name(快照名称)

      Collect Input from User(收集用户输入)

      Name of New Snapshot(新快照的名称)

      Snapshot Description(快照说明)

      Collect Input from User(收集用户输入)

      Snapshot Description(快照说明)(可选)

      Memory Snapshot(内存快照)

      Collect Input from User(收集用户输入)

      Include VM Memory in Snapshot(在快照中包括 VM 内存)

      Quiesce File System(静止文件系统)

      Collect Input from User(收集用户输入)

      Quiesce File System(静止文件系统)

    5. 在 Input Builder 窗口,单击 OK(确定)。

    6. 单击 OK(确定)。

  8. 在工作流程设计器中,在 Workflow(工作流程)选项卡的 File(文件)组中,单击 Save Workflow(保存工作流程)。

  9. 在 Workflow(工作流程)选项卡的 File(文件)组中单击 Close Workflow Designer(关闭工作流程设计器)。

向工作流程添加功能

为了增加此工作流程的复杂性和功能,您可以添加以下一项或多项:

  • 自动触发器 - 您可以添加一个触发器,在用户向受监视的电子邮件地址发送主题为 Request Snapshot(请求快照)的电子邮件时,该触发器会启动一个工作项。如果用户正确设置了消息正文的格式,您可以使用 Extract Nth Match of Regular Expression(提取正则表达式的第 N 个匹配项)活动来解析内容并检索以下内容:

    • 托管 VM 的数据中心名称

    • 要为其创建快照的 VM 名称

    • 新快照的名称

    • 对新快照的可选说明

    • 是否在快照中包含 VM 内存

    • 是否静止文件系统

  • 错误检查 - 如果触发电子邮件的内容格式不正确,则 Extract Nth Match of Regular Expression(提取正则表达式的第 N 个匹配项)活动无法解析内容并会生成错误。Capture Workflow Error(捕获工作流程错误)活动可以检索错误,并沿着备用流程继续进行 Send Email(发送电子邮件)活动。Send Email(发送电子邮件)活动通知请求新快照的人电子邮件请求格式错误。

  • 多个 vCenter 服务器 - 如果您的环境有多个 vCenter 服务器,则可以在用户输入表单上添加字段定义,以请求 vCenter 服务器的名称。不同 vCenter 服务器的数据中心可以具有相同的名称。为了确保 Find Virtual Machines(查找虚拟机)活动找到 VM,您必须添加一个过滤器,将指定的 vCenter 服务器名称与您环境中的服务器名称匹配。

4.8.3 创建新用户帐户

如果您安装适用于 Directory and Resource Administrator 的Workflow Automation 适配器(DRA 适配器),则您可以设计一个工作流程来创建一个新的用户帐户以响应电子邮件。

假设

此示例作以下假设:

  • 您的 Workflow Automation 环境监视 Microsoft Exchange Server 邮箱

  • 电子邮件主题是 Create new user(创建新用户)

  • 电子邮件的正文格式如下:

    FirstName LastName(名字 姓氏)

    Domain(域)

    Location(位置)

    Department(部门)

构建工作流程

完成此示例程序后,您的工作流程应看起来像这样:

如要创建工作流程以确定部署下一个 AppManager 代理的位置:

  1. 在 Library Browser(库浏览器)中,将以下活动从指定的活动库拖动至设计网格:

    活动

    Start of Workflow(工作流程开始)

    基本工作流程控制

    Extract Nth Match of Regular Expression(提取正则表达式的第 N 个匹配项)

    数据处理

    Set Work Item Attributes(设置工作项属性)(2)

    数据处理

    Find Active Directory Objects(查找 Active Directory 对象)

    NetIQ Directory and Resource Administrator

    Create User(创建用户)

    NetIQ Directory and Resource Administrator

    Simple Calculator(简单计算器)

    数据处理

    End of Workflow(工作流程结束)

    基本工作流程控制

  2. 使用连接器按以下顺序联接活动:

    • Start of Workflow(工作流程开始)到 Extract Nth Match of Regular Expression(提取正则表达式的第 N 个匹配项)

    • Extract Nth Match of Regular Expression(提取正则表达式的第 N 个匹配项)到 Set Work Item Attributes(设置工作项属性)(1)

    • Set Work Item Attributes(设置工作项属性)(1)到 Find Active Directory Objects(查找 Active Directory 对象)

    • Find Active Directory Objects(查找 Active Directory 对象)到 Set Work Item Attributes(设置工作项属性)(2)

    • 从 Simple Calculator(简单计算器) Set Work Item Attributes(设置工作项属性)(2)

    • Simple Calculator(简单计算器)到 Find Active Directory Objects(查找 Active Directory 对象)

    • Find Active Directory Objects(查找 Active Directory 对象)到 Create User(创建用户)

    • Create User(创建用户)到 End of Workflow(工作流程结束)结束

  3. 在 View(视图)选项卡上,在 Properties(属性)组中单击 Workflow Properties(工作流程属性)。

  4. 在 Work Item(工作项)选项卡上,在 Custom Work Item Attributes(自定义工作项属性)下添加八个具有以下属性的属性:

     

    属性 1

    属性 2

    属性 3

    属性 4

    名称

    FirstName

    FirstInitial

    LastName

    UserLogon

    显示名称

    First Name(名字)

    First Initial(首字母缩写)

    Last Name(姓氏)

    User Logon(用户登录)

    类型

    字符串

    字符串

    字符串

    字符串

     

     

     

     

    说明

     

     

     

     

    隐藏

    只读

     

     

    属性 5

    属性 6

    属性 7

    属性 8

    名称

    Department(部门)

    CreateIn

    SearchIn

    Counter(计数器)

    显示名称

    Department(部门)

    Create In(创建位置)

    Search In(搜索位置)

    Counter(计数器)

    类型

    字符串

    字符串

    字符串

    整数

     

     

     

    0

    说明

     

     

     

     

    隐藏

    只读

     

     

     

    在运行时,工作流程会为自定义工作项属性填充其从启动工作项的电子邮件中检索到的值。工作流程中的活动在工作流程过程中从工作项属性中检索值。

  5. 在 Workflow Properties(工作流程属性)窗口中,单击 OK(确定)。

  6. 双击 Start of Workflow(工作流程开始)活动,然后完成以下步骤:

    1. 在 Trigger(触发器)选项卡上,单击 Add(添加)。

    2. 在 Available Triggers(可用触发器)下,单击 Create New Trigger(创建新触发器)。

    3. 在 Create Trigger(创建触发器)窗口中,在 Trigger Name(触发器名称)字段中键入 New User Email(新用户电子邮件)。

    4. 在 Initiate New Work Item If(如满足条件则启动新工作项)选项卡中,单击 New Template(新模板)。

    5. 在 Expression Templates(表达式模板)下,单击 Any event of a specific type and attribute value(具备特定类型和属性值的任何事件),然后单击 OK(确定)。

    6. 单击 <事件类型>

    7. 在 Event Type(事件类型)下,单击 Exchange.New Message Event,然后单击 OK(确定)。

    8. 单击 <事件属性>

    9. 在 Event Attribute(事件属性)下,单击 Subject(主题),然后单击 OK(确定)。

    10. 单击 <事件属性值>

    11. 在文本框中键入 New user account(新用户帐户),然后单击 OK(确定)。

    12. 在 Create New Trigger(创建新触发器)窗口时,单击 OK(确定)。

    13. 在 Associated Triggers(关联触发器)下,验证是否存在新触发器,然后单击 OK(确定)。

      只有当带有匹配主题行的电子邮件到达受监视的邮箱时,触发器才会启动工作项。

  7. 双击 Extract Nth Match of Regular Expression(提取正则表达式的第 N 个匹配项)活动,然后完成以下步骤:

    1. 在 General(常规)选项卡上,在 Name(名称)字段中键入 Extract First Initial(提取首字母缩写)。

    2. 单击 Value(值)选项卡。

    3. 对于 Input String(输入字符串)参数,请选择 Use Input Builder(使用 Input Builder)复选框。

    4. 在 Input String(输入字符串)参数的 Value (值)字段中,单击 Input Builder 按钮。

    5. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Event Attribute(事件属性)。

    6. 在 Event Type(事件类型)下,选择 Exchange.New Message Event,然后单击 OK(确定)。

    7. 单击 <事件属性>

    8. 在 Event Attribute(事件属性)下,单击 Text Body(文本正文)。

    9. 在 Attribute Qualifiers(属性限定符)选项卡上,选择 Use Word(使用词)复选框。

    10. 在 Value(值)字段中,单击 Browse(浏览)按钮。

    11. 在 Use Word(使用词)窗口中,选择 Use word #(使用词数量)复选框。

    12. 在 Use word #(使用词数量)字段中,键入 1,然后单击 OK(确定)。

    13. 在 Input Builder 窗口,单击 OK(确定)。

    14. 在 In the Regular Expression parameter(正则表达式)参数中,键入 (.)

    15. 在 Segments(段)参数中,键入 1(1)

    16. 选择 Output as String(输出为字符串)复选框。

    17. 在 Output String Separator(输出字符串分隔符)参数中,键入逗号 (,)。

    18. 单击 OK(确定)。

  8. 双击第一项 Set Work Item Attributes(设置工作项属性)活动。

  9. 在 Attributes(属性)选项卡上,在 Available Custom Attributes(可用自定义属性)下,选择以下每个属性,然后按以下顺序单击 Add(添加):

    • First Initial(首字母缩写)

    • 名字

    • User Logon(用户登录名)

    • Create In(创建位置)

    • Search In(搜索位置)

    • Department(部门)

    • Subject(主题)

  10. 在 Configured Custom Attributes(配置的自定义属性)下,为 First Initial(首字母缩写)属性完成以下步骤:

    1. 选择 Use Input Builder(使用 Input Builder)复选框。

    2. 在 First Initial(首字母缩写)属性的 Value(值)字段中,单击 Input Builder 按钮。

    3. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Activity Output Parameter(活动输出参数)。

    4. 在 Output Parameter Name(输出参数名称)下,展开 Extract First Initial(提取首字母缩写),选择 Result String(结果字符串),然后单击 OK(确定)。

    5. 在 Input Builder 窗口,单击 OK(确定)。

  11. 在 Configured Custom Attributes(配置的自定义属性)下,为 First Name(名字)属性完成以下步骤:

    1. 选择 Use Input Builder(使用 Input Builder)复选框。

    2. 在 First Name(名字)属性的 Value(值)字段中,单击 Input Builder 按钮。

    3. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Event Attribute(事件属性)。

    4. 在 Event Type(事件类型)下,选择 Exchange.New Message Event,然后单击 OK(确定)。

    5. 单击 <事件属性>

    6. 在 Event Attribute(事件属性)下,单击 Text Body(文本正文)。

    7. 在 Attribute Qualifiers(属性限定符)选项卡上,选择 Use Word(使用词)复选框。

    8. 在 Value(值)字段中,单击 Browse(浏览)按钮。

    9. 在 Use Word(使用词)窗口中,选择 Use word #(使用词数量)复选框。

    10. 在 Use word #(使用词数量)字段中,键入 1,然后单击 OK(确定)。

    11. 在 Input Builder 窗口,单击 OK(确定)。

  12. 在 Configured Custom Attributes(配置的自定义属性)下,为 Last Name(姓氏)属性完成以下步骤:

    1. 选择 Use Input Builder(使用 Input Builder)复选框。

    2. 在 Last Name(姓氏)属性的 Value(值)字段中,单击 Input Builder 按钮。

    3. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Event Attribute(事件属性)。

    4. 在 Event Type(事件类型)下,选择 Exchange.New Message Event,然后单击 OK(确定)。

    5. 单击 <事件属性>

    6. 在 Event Attribute(事件属性)下,单击 Text Body(文本正文)。

    7. 在 Attribute Qualifiers(属性限定符)选项卡上,选择 Use Word(使用词)复选框。

    8. 在 Value(值)字段中,单击 Browse(浏览)按钮。

    9. 在 Use Word(使用词)窗口中,选择 Use word #(使用词数量)复选框。

    10. 在 Use word #(使用词数量)字段中,键入 2,然后单击 OK(确定)。

    11. 在 Input Builder 窗口,单击 OK(确定)。

  13. 在 Configured Custom Attributes(配置的自定义属性)下,为 User Logon Name(用户登录名)属性完成以下步骤:

    1. 选择 Use Input Builder(使用 Input Builder)复选框。

    2. 在 User Logon Name(用户登录名)属性的 Value(值)字段中,单击 Input Builder 按钮。

    3. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Event Attribute(事件属性)。

    4. 在 Event Type(事件类型)下,选择 Exchange.New Message Event,然后单击 OK(确定)。

    5. 单击 <事件属性>

    6. 在 Event Attribute(事件属性)下,单击 Text Body(文本正文)。

    7. 在 Attribute Qualifiers(属性限定符)选项卡上,选择 Use Word(使用词)复选框。

    8. 在 Value(值)字段中,单击 Browse(浏览)按钮。

    9. 在 Use Word(使用词)窗口中,选择 Use word #(使用词数量)复选框。

    10. 在 Use word #(使用词数量)字段中,键入 2,然后单击 OK(确定)。

    11. 单击 New Input Element(新输入元素),然后单击 Activity Output Parameter(活动输出参数)。

    12. 在 Output Parameter Name(输出参数名称)下,展开 Extract First Initial(提取首字母缩写),选择 Result String(结果字符串),然后单击 OK(确定)。

    13. 在 Input Builder 窗口,单击 OK(确定)。

  14. 在 Configured Custom Attributes(配置的自定义属性)下,为 Create In(创建位置)属性完成以下步骤:

    1. 选择 Use Input Builder(使用 Input Builder)复选框。

    2. 在 Create In(创建位置)属性的 Value(值)字段中,单击 Input Builder 按钮。

    3. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Event Attribute(事件属性)。

    4. 在 Event Type(事件类型)下,选择 Exchange.New Message Event,然后单击 OK(确定)。

    5. 单击 <事件属性>

    6. 在 Event Attribute(事件属性)下,单击 Text Body(文本正文)。

    7. 在 Attribute Qualifiers(属性限定符)选项卡上,选择 Use Word(使用词)复选框。

    8. 在 Value(值)字段中,单击 Browse(浏览)按钮。

    9. 在 Use Word(使用词)窗口中,选择 Use word #(使用词数量)复选框。

    10. 在 Use word #(使用词数量)字段中,键入 3,然后单击 OK(确定)。

    11. 单击 New Input Element(新输入元素),然后单击 Free-Form Text(自由格式文本)。

    12. 在自由格式文本框中,键入 \,然后单击 OK(确定)。

    13. 单击 New Input Element(新输入元素),然后单击 Event Attribute(事件属性)。

    14. 在 Event Type(事件类型)下,选择 Exchange.New Message Event,然后单击 OK(确定)。

    15. 单击 <事件属性>

    16. 在 Event Attribute(事件属性)下,单击 Text Body(文本正文)。

    17. 在 Attribute Qualifiers(属性限定符)选项卡上,选择 Use Word(使用词)复选框。

    18. 在 Value(值)字段中,单击 Browse(浏览)按钮。

    19. 在 Use Word(使用词)窗口中,选择 Use word #(使用词数量)复选框。

    20. 在 Use word #(使用词数量)字段中,键入 4,然后单击 OK(确定)。

    21. 单击 New Input Element(新输入元素),然后单击 Free-Form Text(自由格式文本)。

    22. 在自由格式文本框中,键入 \,然后单击 OK(确定)。

    23. 单击 New Input Element(新输入元素),然后单击 Event Attribute(事件属性)。

    24. 在 Event Type(事件类型)下,选择 Exchange.New Message Event,然后单击 OK(确定)。

    25. 单击 <事件属性>

    26. 在 Event Attribute(事件属性)下,单击 Text Body(文本正文)。

    27. 在 Attribute Qualifiers(属性限定符)选项卡上,选择 Use Word(使用词)复选框。

    28. 在 Value(值)字段中,单击 Browse(浏览)按钮。

    29. 在 Use Word(使用词)窗口中,选择 Use word #(使用词数量)复选框。

    30. 在 Use word #(使用词数量)字段中,键入 5,然后单击 OK(确定)。

    31. 在 Input Builder 窗口,单击 OK(确定)。

  15. 在 Configured Custom Attributes(配置的自定义属性)下,为 Search In(搜索位置)属性完成以下步骤:

    1. 选择 Use Input Builder(使用 Input Builder)复选框。

    2. 在 Search In(搜索位置)属性的 Value(值)字段中,单击 Input Builder 按钮。

    3. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Event Attribute(事件属性)。

    4. 在 Event Type(事件类型)下,选择 Exchange.New Message Event,然后单击 OK(确定)。

    5. 单击 <事件属性>

    6. 在 Event Attribute(事件属性)下,单击 Text Body(文本正文)。

    7. 在 Attribute Qualifiers(属性限定符)选项卡上,选择 Use Word(使用词)复选框。

    8. 在 Value(值)字段中,单击 Browse(浏览)按钮。

    9. 在 Use Word(使用词)窗口中,选择 Use word #(使用词数量)复选框。

    10. 在 Use word #(使用词数量)字段中,键入 3,然后单击 OK(确定)。

    11. 在 Input Builder 窗口,单击 OK(确定)。

  16. 在 Configured Custom Attributes(配置的自定义属性)下,为 Department(部门)属性完成以下步骤:

    1. 选择 Use Input Builder(使用 Input Builder)复选框。

    2. 在 Department(部门)属性的 Value(值)字段中,单击 Input Builder 按钮。

    3. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Event Attribute(事件属性)。

    4. 在 Event Type(事件类型)下,选择 Exchange.New Message Event,然后单击 OK(确定)。

    5. 单击 <事件属性>

    6. 在 Event Attribute(事件属性)下,单击 Text Body(文本正文)。

    7. 在 Attribute Qualifiers(属性限定符)选项卡上,选择 Use Word(使用词)复选框。

    8. 在 Value(值)字段中,单击 Browse(浏览)按钮。

    9. 在 Use Word(使用词)窗口中,选择 Use word #(使用词数量)复选框。

    10. 在 Use word #(使用词数量)字段中,键入 5,然后单击 OK(确定)。

    11. 在 Input Builder 窗口,单击 OK(确定)。

  17. 在 Configured Custom Attributes(配置的自定义属性)下,为 Subject(主题)属性完成以下步骤:

    1. 选择 Use Input Builder(使用 Input Builder)复选框。

    2. 在 Subject(主题)属性的 Value(值)字段中,单击 Input Builder 按钮。

    3. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Free-Form Text(自由格式文本)。

    4. 在自由格式文本框中,键入 Create New User Account for(为以下对象创建新用户帐户),然后单击 OK(确定)。

    5. 单击 New Input Element(新输入元素),然后单击 Space(空格)。

    6. 单击 New Input Element(新输入元素),然后单击 Work Item Attribute(工作项属性)。

    7. 在 Custom Work Item Attributes(自定义工作项属性)下,单击 First Name(名字),然后单击 OK(确定)。

    8. 单击 New Input Element(新输入元素),然后单击 Space(空格)。

    9. 单击 New Input Element(新输入元素),然后单击 Work Item Attribute(工作项属性)。

    10. 在 Custom Work Item Attributes(自定义工作项属性)下,单击 Last·Name(姓氏),然后单击 OK(确定)。

    11. 单击 New Input Element(新输入元素),然后单击 Space(空格)。

    12. 单击 New Input Element(新输入元素),然后单击 Free-Form Text(自由格式文本)。

    13. 在自由格式文本框中,键入 in,然后单击 OK(确定)。

    14. 单击 New Input Element(新输入元素),然后单击 Space(空格)。

    15. 单击 New Input Element(新输入元素),然后单击 Work Item Attribute(工作项属性)。

    16. 在 Custom Work Item Attributes(自定义工作项属性)下,单击 Create In(创建位置),然后单击 OK(确定)。

    17. 在 Input Builder 窗口,单击 OK(确定)。

      在运行时,工作流程使用新用户的名称和位置填充工作项的主题。流程操作员可以检查操作控制台中工作项的进度。

  18. 在活动属性窗口中,单击 OK(确定)。

  19. 双击 Find Active Directory Objects(查找 Active Directory 对象)活动,然后完成以下步骤:

    1. 单击 Value(值)选项卡。

    2. 为 Search In(搜索位置)参数选择 Use Input Builder(使用 Input Builder)复选框。

    3. 在 Search In(搜索位置)参数的 Value(值)字段中,单击 Input Builder 按钮。

    4. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Work Item Attribute(工作项属性)。

    5. 在 Custom Work Item Attributes(自定义工作项属性)下,单击 Search·In(搜索位置)然后单击 OK(确定)。

    6. 选择 Search Specific Object Types(搜索特定对象类型)单选按钮。

    7. 选择 User Accounts(用户帐户)复选框。

    8. 展开 User Accounts(用户帐户)。

    9. 对于 User Logon Name Pattern(用户登录名称模式)参数,选择 Use Input Builder(使用 Input Builder)复选框。

    10. 在 User Logon Name Pattern(用户登录名模式)属性的 Value(值)字段中,单击 Input Builder 按钮。

    11. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Work Item Attribute(工作项属性)。

    12. 在 Custom Work Item Attributes(自定义工作项属性)下,单击 User Logon Name(用户登录名),然后单击 OK(确定)。

    13. 在活动属性窗口中,单击 OK(确定)。

  20. 双击 Find Active Directory Objects(查找 Active Directory 对象)和 Simple Calculator(简单计算器)之间的连接器,然后完成以下步骤:

    1. 在 Name(名称)字段中,键入 User ID already in use(用户 ID 已被使用)。

    2. 选择 Only traverse this connector when the following conditions are met(仅在满足以下条件时遍历此连接器)。

    3. 在条件表达式下,单击 Edit Expression(编辑表达式)。

    4. 在 Expression Editor(表达式编辑器)窗口中,单击 New Template(新模板),然后单击 Parameter Expression(参数表达式)。

    5. 单击 <参数名称>,展开 Find Active Directory Objects(查找 Active Directory 对象),选择 Number of Object Locators(对象定位器数量),然后单击 OK(确定)。

    6. 单击 is equal to(等于),然后单击 is greater than(大于)。

    7. 单击 <属性值>,然后单击 Edit Simple Value(编辑简单值)。

    8. 在文本字段中,键入 0,然后单击 OK(确定)。

    9. 在 Expression Editor(表达式编辑器)窗口中,单击 OK(确定)。

    10. 在 Connector Properties(连接器属性)窗口中,单击 OK(确定)。

  21. 双击 Simple Calculator(简单计算机)活动,然后完成以下步骤:

    1. 单击 Value(值)选项卡。

    2. 对于 Expression(表达式)参数,请选择 Use Input Builder(使用 Input Builder)复选框。

    3. 在 Expression(表达式)参数的 Value(值)字段中,单击 Input Builder 按钮。

    4. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Work Item Attribute(工作项属性)。

    5. 在 Custom Work Item Attributes(自定义工作项属性)下,单击 Counter(计数器),然后单击 OK(确定)。

    6. 单击 New Input Element(新输入元素),然后单击 Free-Form Text(自由格式文本)。

    7. 在自由格式文本框中,键入 +1,然后单击 OK(确定)。

    8. 在 Input Builder 窗口,单击 OK(确定)。

    9. 在活动属性窗口中,单击 OK(确定)。

  22. 双击第二项 Set Work Item Attributes(设置工作项属性)活动。

  23. 在 General(常规)选项卡上,在 Name(名称)字段中键入 Increment User Logon Name(增量用户登录名称)。

  24. 在 Attributes(属性)选项卡上,在 Available Custom Attributes(可用自定义属性)下选择以下各项:

    • User Logon(用户登录名)

    • Counter(计数器)

  25. 在 Configured Custom Attributes(配置的自定义属性)下,为 User Logon Name(用户登录名)属性完成以下步骤:

    1. 选择 Use Input Builder(使用 Input Builder)复选框。

    2. 在 User Logon Name(用户登录名)属性的 Value(值)字段中,单击 Input Builder 按钮。

    3. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Work Item Attribute(工作项属性)。

    4. 在 Custom Work Item Attributes(自定义工作项属性)下,单击 User Logon Name(用户登录名),然后单击 OK(确定)。

    5. 单击 New Input Element(新输入元素),然后单击 Activity Output Parameter(活动输出参数)。

    6. 在 Output Parameter Name(输出参数名称)下,展开 Simple Calculator(简单计算器),选择 Result(结果),然后单击 OK(确定)。

    7. 在 Input Builder 窗口,单击 OK(确定)。

  26. 在 Configured Custom Attributes(配置的自定义属性)下,为 Counter(计数器)属性完成以下步骤:

    1. 选择 Use Input Builder(使用 Input Builder)复选框。

    2. 在 Counter(计数器)属性的 Value(值)字段中,单击 Input Builder 按钮。

    3. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Activity Output Parameter(活动输出参数)。

    4. 在 Output Parameter Name(输出参数名称)下,展开 Simple Calculator(简单计算器),选择 Result(结果),然后单击 OK(确定)。

    5. 在 Input Builder 窗口,单击 OK(确定)。

  27. 在活动属性窗口中,单击 OK(确定)。

  28. 双击 Find Active Directory Objects(查找 Active Directory 对象)和 Create User(创建用户)之间的连接器,然后完成以下步骤:

    1. 在 Name(名称)字段中,键入 User ID available(用户 ID 可用)。

    2. 选择 Only traverse this connector when the following conditions are met(仅在满足以下条件时遍历此连接器)。

    3. 在条件表达式下,单击 Edit Expression(编辑表达式)。

    4. 在 Expression Editor(表达式编辑器)窗口中,单击 New Template(新模板),然后单击 Parameter Expression(参数表达式)。

    5. 单击 <参数名称>,展开 Find Active Directory Objects(查找 Active Directory 对象),选择 Number of Object Locators(对象定位器数量),然后单击 OK(确定)。

    6. 单击 <属性值>,然后单击 Edit Simple Value(编辑简单值)。

    7. 在文本字段中,键入 0,然后单击 OK(确定)。

    8. 在 Expression Editor(表达式编辑器)窗口中,单击 OK(确定)。

    9. 在 Connector Properties(连接器属性)窗口中,单击 OK(确定)。

  29. 双击 Create User(创建用户)活动,然后单击 Values(值)选项卡。

  30. 为 Create In(创建位置)参数完成以下步骤:

    1. 选择 Use Input Builder(使用 Input Builder)复选框。

    2. 在 Create In(创建位置)参数的 Value(值)字段中,单击 Input Builder 按钮。

    3. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Work Item Attribute(工作项属性)。

    4. 在 Custom Work Item Attributes(自定义工作项属性)下,单击 Create In(创建位置),然后单击 OK(确定)。

    5. 在 Input Builder 窗口,单击 OK(确定)。

  31. 为 Full Name(全名)参数完成以下步骤:

    1. 选择 Use Input Builder(使用 Input Builder)复选框。

    2. 在 Full Name(全名)参数的 Value (值)字段中,单击 Input Builder 按钮。

    3. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Work Item Attribute(工作项属性)。

    4. 在 Custom Work Item Attributes(自定义工作项属性)下,单击 First Name(名字),然后单击 OK(确定)。

    5. 单击 New Input Element(新输入元素),然后单击 Space(空格)。

    6. 单击 New Input Element(新输入元素),然后单击 Work Item Attribute(工作项属性)。

    7. 在 Custom Work Item Attributes(自定义工作项属性)下,单击 Last·Name(姓氏),然后单击 OK(确定)。

    8. 在 Input Builder 窗口,单击 OK(确定)。

  32. 为 First Name(名字)参数完成以下步骤:

    1. 选择 Use Input Builder(使用 Input Builder)复选框。

    2. 在 First Name(名字)参数的 Value(值)字段中,单击 Input Builder 按钮。

    3. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Work Item Attribute(工作项属性)。

    4. 在 Custom Work Item Attributes(自定义工作项属性)下,单击 First Name(名字),然后单击 OK(确定)。

    5. 在 Input Builder 窗口,单击 OK(确定)。

  33. 为 Last Name(姓氏)参数完成以下步骤:

    1. 选择 Use Input Builder(使用 Input Builder)复选框。

    2. 在 Last Name(姓氏)参数的 Value(值)字段中,单击 Input Builder 按钮。

    3. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Work Item Attribute(工作项属性)。

    4. 在 Custom Work Item Attributes(自定义工作项属性)下,单击 Last·Name(姓氏),然后单击 OK(确定)。

    5. 在 Input Builder 窗口,单击 OK(确定)。

  34. 为 Pre-Windows 2000 Logon Name(Windows 2000 之前的登录名)参数完成以下步骤:

    1. 选择 Use Input Builder(使用 Input Builder)复选框。

    2. 在 Pre-Windows 2000 Logon Name(Windows 2000 之前的登录名)参数的“值”字段中,单击 Input Builder 按钮。

    3. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Work Item Attribute(工作项属性)。

    4. 在 Custom Work Item Attributes(自定义工作项属性)下,单击 User Logon Name(用户登录名),然后单击 OK(确定)。

    5. 在 Input Builder 窗口,单击 OK(确定)。

  35. 为 User Logon Name(用户登录名)参数完成以下步骤:

    1. 选择 Use Input Builder(使用 Input Builder)复选框。

    2. 在 User Logon Name(用户登录名)参数的 Value(值)字段中,单击 Input Builder 按钮。

    3. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Work Item Attribute(工作项属性)。

    4. 在 Custom Work Item Attributes(自定义工作项属性)下,单击 User Logon Name(用户登录名),然后单击 OK(确定)。

    5. 在 Input Builder 窗口,单击 OK(确定)。

  36. 为 Department(部门)参数完成以下步骤:

    1. 选择 Use Input Builder(使用 Input Builder)复选框。

    2. 在 Department(部门)参数的 Value(值)字段中,单击 Input Builder 按钮。

    3. 在 Input Builder 窗口中,单击 New Input Element(新输入元素),然后单击 Work Item Attribute(工作项属性)。

    4. 在 Custom Work Item Attributes(自定义工作项属性)下,单击 Department(部门),然后单击 OK(确定)。

    5. 在 Input Builder 窗口,单击 OK(确定)。

  37. 在活动属性窗口中,单击 OK(确定)。

  38. 在工作流程设计器中,在 Workflow(工作流程)选项卡的 File(文件)组中,单击 Save Workflow(保存工作流程)。

  39. 在 Workflow(工作流程)选项卡的 File(文件)组中单击 Close Workflow Designer(关闭工作流程设计器)。

向工作流程添加功能

为了增加此工作流程的复杂性和功能,您可以添加以下一项或多项:

  • POP3 电子邮件支持 - 您可以在 Start of Workflow(工作流程开始)活动中添加另一个触发器,以响应到达受监视的 POP3 邮箱中的正确格式的电子邮件。

  • 复杂电子邮件格式 - 匹配触发器的电子邮件可能包含更复杂的格式,您可以从中检索信息,以填充 Create User(创建用户)活动或其他自定义工作项属性上的更多输入参数。

  • 将凭据发送给系统管理员 - 您可以向系统管理员发送包含新用户 ID 和密码的电子邮件,系统管理员随后可以向用户提供凭据。

4.9 调试工作流程

工作流程设计器中的调试模式允许您在设计时测试工作流程中的错误,而无需将工作流程修订投入生产。在调试模式下,您可以:

  • 查看每个活动和连接器的状态。

  • 在活动执行时将其打开,并在 Execution Results(执行结果)选项卡上查看其输入和输出参数的值。

    注:如果活动多次执行,例如在循环中,则 Execution Results(执行结果)选项卡会以反向时间顺序显示每次执行的结果。如果在您查看结果时活动再次执行,则您可以刷新视图以添加最新执行的结果。

  • 测试并响应用户输入表单。

    注:要在调试模式下响应用户输入表单,请双击相应的 Collect Input from User(收集用户输入)活动。当活动在调试模式下等待输入时,活动的 Input Form(输入表单)选项卡上的输入表单完全正常运行。

  • 查看自定义工作项属性的当前值。

  • 查看 Input Builder 在条件连接器和事件过滤器表达式中指派的动态值。例如,以下条件连接器表达式仅允许工作流程在 Find Computers(查找计算机)活动所检索的对象定位器数量等于 Get Table Size(获取表大小)活动在表中找到的行数时才能遍历连接器:

    Activity Output Parameter Find Computers.Number of Object Locators is equal to {Get Table Size.Number of Rows}

    在调试模式下,如果双击连接器,则您可以看到 {Get Table Size.Number of Rows} 的值。

  • 添加、删除、启用、禁用断点。

  • 逐一完成每个活动和连接器。

如果另一个工作流程修订正在生产中,您可以调试当前修订,而不会发生冲突。

注:当您在调试模式下执行工作流程时,Workflow Automation 会创建一个临时工作项。流程操作员在操作控制台中看不到临时工作项。

断点允许您暂停工作流程。您可以在设计模式或调试模式下将断点与活动和连接器关联起来。工作流程会在断点暂停,然后再执行或遍历相关活动或连接器。例如,如果您想要查看活动的结果,则可以紧接着活动后向连接器添加一个断点。活动执行后,工作流程在断点暂停,而不遍历连接器。查看活动结果后,您可以继续调试工作流程。如果您需要更改活动,您可以退出调试模式并修改活动。

断点仍与修订相关联,直到您将其投入生产。

4.10 使用 Workflow Automation 中的时间

Workflow Automation 控制台显示时间,并允许您根据计算机上的区域设置键入时间,但 Workflow Automation 会以 GMT(格林尼治标准时间)存储所有时间。在工作流程设计器中处理活动时,与时间相关的所有活动输出参数都会返回一个 time_t 值,即自 Unix 时间戳 (1/1/1970 12:00:00 AM) 开始以来的秒数。

Get Current Time and Date(获取当前时间和日期)活动中的 Time (LOCAL)(时间(本地))输出参数会为您的时区返回一个 time_t 值。所有其他与时间相关的输出参数,包括 Get Current Time and Date(获取当前时间和日期)活动的其他输出参数,Time(时间),返回一个包含 GMT 偏移的 time_t 值。

例如,如果 Get Current Time and Date(获取当前时间和日期)活动检索 2008 年 7 月 16 日星期三(美国东部时间)下午 3:00 这样一个日期和时间,则 Time (LOCAL)(时间(本地))参数返回 1216177200Time(时间)参数返回 1216195200。差值为 18,000 秒,或 5 小时,即 CST 和 GMT 之间的时区偏移。

如果您使用 Input Builder 引用来自 Get Current Time and Date(获取当前时间和日期)活动的输出参数,请确保选择适当的参数。例如,如果您配置 Check Time Against a Schedule(根据计划检查时间)以检索来自 Get Current Time and Date(获取当前时间和日期)活动的时间,请引用 Time(时间)参数以正确考虑 GMT 偏移。

4.11 验证工作流程

工作流程必须经过验证才能投入生产。您可以在设计过程中随时手动验证工作流程。当您保存工作流程或尝试将工作流程修订投入生产时,Workflow Automation 会自动验证工作流程。

注:

  • 由于某些工作流程的复杂性,可能无法在一个设计会话中完成工作流程。您可以保存工作流程,并在之后返回对其进行验证。

  • 工作流程设计器会检查您是否具有 Start of Workflow(工作流程开始)活动和 End of Workflow(工作流程结束)活动,以及连接器是否正确连接。工作流程设计器不会验证工作流程逻辑。

有关将工作流程投入生产的更多信息,请参阅将工作流程修订投入生产

4.12 了解支持分析

在设计工作流程时,您可以配置一个或多个数据源特定的活动,以收集与流程相关的信息,可以是在调查的初始阶段收集,也可以在工作项关闭之后收集。流程操作员可以在操作控制台中查看支持分析结果。

在调查的初始阶段,支持分析活动可以从所有数据来源收集与工作项相关的信息,以确保进程操作员拥有尽可能多的信息来识别根本原因。

工作项完成后,支持分析活动可以从所有相关数据源收集信息,以验证事件已得到正确解决。

注:支持分析活动是特定于数据源的。有关特定活动的更多信息,请参阅其相关“帮助”。

如果流程操作员在所有支持分析步骤完成之前查看支持分析结果,则操作控制台会显示已完成的结果(如果有),并指示哪些步骤仍在运行。

4.13 了解工作流程优先级

当 Workflow Automation 从数据源接收事件时,Workflow Automation 会评估当前正在生产的工作流程,以找到匹配的触发器。如果工作流程具有与之关联的多个触发器,则 Workflow Automation 会根据在 Start of Workflow(工作流程开始)活动上为触发器指定的顺序对其进行评估。如果事件与触发器匹配,Workflow Automation 将启动工作项。

如果事件匹配多个工作流程的触发器,Workflow Automation 会根据为其指派的触发器处理顺序对工作流程进行优先级排序,然后根据指派给每个匹配工作流程的事件消耗策略启动相应的工作流程。

4.13.1 触发器处理顺序

当进来的事件匹配多个工作流程上的同一个触发器时,Workflow Automation 使用为每个工作流程设置的触发器处理顺序为工作流程进行优先级排序,并将优先级设置最高的工作流程放在列表的顶部。Workflow Automation 检查第一个工作流程的事件消耗策略,然后按指示继续。最大设置是 100

警告:在为匹配相同事件的一组工作流程设置触发器处理顺序时,确保只有一个具有最高设置。如果要将两个工作流程配置到列表的顶部,则 Workflow Automation 会根据数据库语法选择从数据库中读取的第一个工作流程。

4.13.2 事件消耗策略

工作流程的事件消耗策略决定工作流程如何响应与为其指派的触发器匹配的进来的事件。每项策略在使用时标记事件,即使策略阻止事件匹配在触发器处理顺序中处于较低位置的任何工作流程。

要为使用相同触发器的多个工作流程设置消耗策略,请使用以下选项之一:

  • Consume(使用)- 使用事件并停止。该事件不会启动在触发器处理顺序中处于较低位置的任何匹配工作流程。

  • Mark and Pass(标记和通过)- 使用该事件并继续。事件可能会启动在触发器处理顺序中处于较低位置的其他匹配工作流程。

要为使用不同触发器的多个工作流程设置消耗策略,请使用以下选项之一:

  • Use if Not Marked(未标记时使用)- 如果事件尚未启动在触发器处理顺序中处于更高位置的匹配工作流程,则使用该事件,然后停止。该事件不会启动在触发器处理顺序中处于较低位置的任何匹配工作流程。

  • Use if Not Marked and Pass(未标记和通过时使用)- 如果事件尚未启动在触发器处理顺序中处于更高位置的匹配工作流程,则使用该事件,然后继续。事件可能会启动在触发器处理顺序中处于较低位置的其他匹配工作流程。

4.13.3 为工作流程设置策略

您可以为正在构建的工作流程修订设置事件消耗策略和触发器处理顺序。

为工作流程设置触发器处理和事件消耗策略:

  1. 在 Navigation(导航)窗格中,单击 Processes(流程)。

  2. 在左窗格中,选择相应的流程。

  3. 在 Workflow Revisions(工作流程修订)列表中,选择您要为其设置事件消耗策略的工作流程修订。

  4. 在 Workflow Revision Tasks(工作流程修订任务)列表中,单击 View Workflow Revision Properties(查看工作流程修订属性)。

  5. 在 Workflow Revision Properties(工作流程修订属性)窗口中,单击 Workflow(工作流程)选项卡。

  6. 在 Policies(策略)下,提供适当的信息,然后单击 OK(确定)。

4.14 了解修订控制

工作流程必须投入生产才能接收和响应事件。可以将多个工作流程投入生产,但一个流程一次只能有一个工作流程修订进行生产。

4.14.1 将工作流程修订投入生产

完成工作流程后,可以将其投入生产。工作流程投入生产后,Workflow Automation 会立即在新事件中间搜索匹配项。

注:

  • 一旦您将工作流程投入生产,它就无法恢复到正在构建状态。如果您要编辑当前正在进行生产的工作流程,则必须克隆它并创建新的修订。有关克隆工作流程修订的更多信息,请参见克隆工作流程修订

  • 一个流程一次只能有一个工作流程修订进行生产。如果修订已经在生产中,Workflow Automation 会自动将其替换为新修订。

  • 当您首次将带有抽象触发器修订的工作流程修订投入生产时,Workflow Automation 会根据指定抽象修订的规则指派最新的触发器修订。有关抽象触发器修订的更多信息,请参见了解抽象触发器修订

  • 一旦将工作流程修订投入生产,Workflow Automation 不会自动升级工作流程中的 Task(任务)活动,以使用其相关活动模块的较新版本。您必须手动部署这些更新。有关用最新活动模块更新 Task(任务)活动的的更多信息,请参见部署活动模块更新

Workflow Automation 在您将修订的工作流程投入生产时会自动对其进行验证。如果工作流程通过验证,Workflow Automation 将指派一个版本号并将修订投入生产。

4.14.2 克隆工作流程修订

如果在将工作流程修订投入生产后需要编辑工作流程,您可以克隆该修订,并在新修订中创建一份精确的复制。新的工作流程修订仍在构建中,直至投入生产。

要克隆工作流程修订:

  1. 在 Navigation(导航)窗格中,单击 Processes(流程)。

  2. 在左窗格中,选择包含要克隆的修订的流程。

  3. 在 Workflow Revisions(工作流程修订)列表中,选择要克隆的修订。

  4. 在 Workflow Revisions Tasks(工作流程修订任务)列表中,单击 Clone Revision(克隆修订)。

  5. 如果您正在克隆使用以前版本的 Workflow Automation 构建的工作流程修订,请升级工作流程以使用活动的最新版本。有关升级旧工作流程的更多信息,请参见部署活动模块更新

  6. 在工作流程设计器中,进行适当的更改。

  7. 在 Workflow(工作流程)选项卡上,在 File(文件)组中单击 Save Workflow(保存工作流程)。

  8. 关闭工作流程设计器。

  9. 在 Workflow Revisions Tasks(工作流程修订任务)列表中,单击 Check In Revision(归还修订)。

  10. 如已完成更改,则将修订投入生产。

4.14.3 使工作流程修订退出生产

您可以随时手动使工作流程修订退出生产。例如,您可能需要将工作流程修订退出生产,以防止进来的事件在您克隆工作流程和自定义新工作流程修订时启动工作项。

如要使工作流程修订退出生产:

  1. 在 Navigation(导航)窗格中,单击 Processes(流程)。

  2. 在左窗格中,选择包含要退出生产的工作流程修订的流程。

  3. 在 Workflow Revisions(工作流程修订)列表中,选择您想要退出生产的工作流程修订。

  4. 在 Workflow Revision Tasks(工作流程修订任务)列表中,单击 Take Revision Out of Production(使修订退出生产)。

4.14.4 导出工作流程

您可以将与工作流程修订相关的工作流程导出到 .nxpr 文件,以便在整个组织和地理结构中共享。导出文件包括工作流程的相关触发器、触发事件定义和自定义工作项属性。流程作者可以将 .nxpr 文件导入到其他流程,并修改工作流程以满足其需求。有关导入工作流程修订的更多信息,请参见导入工作流程

提示:您还可以导出工作流程中引用的任何业务服务。

要导出工作流程:

  1. 在 Navigation(导航)窗格中,单击 Processes(流程)。

  2. 在左窗格中,选择相应的流程。

  3. 在 Workflow Revisions(工作流程修订)列表中,选择与您要导出的工作流程相关的修订。

  4. 在 Workflow Revision Tasks(工作流程修订任务)列表中,单击 Export Workflow(导出工作流程)。

  5. 在 Export Workflow(导出工作流程)窗口中,指定位置和文件名称,然后单击 Save(保存)。

4.14.5 导入工作流程

使用 Import Workflow(导入工作流程)向导,您可以将工作流程修订导入流程。导入的工作流程作为最新的修订显示在 Workflow Revisions(工作流程修订)列表中。

注:流程作者在其将工作流程导出到文件时创建导入文件。有关导出工作流程的更多信息,请参见导出工作流程

要将工作流程修订导入流程:

  1. 在 Navigation(导航)窗格中,单击 Processes(流程)。

  2. 在左窗格中,选择要向其导入工作流程的流程。

  3. 在 Workflow Revision Tasks(工作流程修订任务)列表中,单击 Import Workflow(导入工作流程)。

  4. 完成 Import Workflow Wizard(导入工作流程向导),然后单击 Finish(完成)。

4.14.6 为工作流程自定义工作项属性

在将工作流程投入生产之前,您可以指定它指派给自己创建的工作项的自定义属性。有关将工作流程投入生产的更多信息,请参阅将工作流程修订投入生产

要为工作流程自定义工作项属性:

  1. 在 Navigation(导航)窗格中,单击 Processes(流程)。

  2. 在左窗格中,选择相应的流程。

  3. 在 Workflow Revisions(工作流程修订)列表中,选择要为其创建或修改自定义工作项属性的工作流程修订。

  4. 在 Workflow Revision Tasks(工作流程修订任务)列表中,单击 View Revision Properties(查看修订属性)。

  5. 在 Workflow Revision Properties(工作流程修订属性)窗口中,单击 Work Item(工作项)选项卡。

  6. 在 Properties(属性)下,提供相应信息,然后单击 OK(确定)。

4.14.7 自定义工作项属性

在将工作流程投入生产之前,您可以向由其创建的工作项指派自定义属性。这些属性可以是工作流程的内部属性,也可以对操作控制台上的用户可见。

注:如果通过触发器将同名自定义工作项属性传递给工作项,则您在此处指派的值会覆盖来自触发器的值。

要自定义工作流程的工作项属性:

  1. 在 Navigation(导航)窗格中,单击 Processes(流程)。

  2. 在左窗格中,选择相应的流程。

  3. 在 Workflow Revisions(工作流程修订)列表中,选择要为其创建或修改自定义工作项属性的工作流程修订。

  4. 在 Workflow Revision Tasks(工作流程修订任务)列表中,单击 View Revision Properties(查看修订属性)。

  5. 在 Workflow Revision Properties(工作流程修订属性)窗口中,单击 Work Item(工作项)选项卡。

  6. 如果要创建自定义工作项属性,请完成以下步骤:

    1. 在 Custom Work Item Attributes(自定义工作项)属性下,单击 Add(添加)。

    2. 在 New Custom Work Item Attribute(新自定义工作项属性)窗口中,提供相应的信息,然后单击 OK(确定)。

  7. 如果要编辑自定义工作项属性,请完成以下步骤:

    1. 在 Custom Work Item Attributes(自定义工作项)属性下,选择要编辑的属性,然后单击 Edit(编辑)。

    2. 在 Edit Custom Work Item Attribute(编辑自定义工作项属性)窗口中,进行适当的更改,然后单击 OK(确定)。

  8. 在 Workflow Revision Properties(工作流程修订属性)窗口中,单击 OK(确定)。

4.15 部署活动模块更新

当您安装活动模块的新版本时,您可以更新现有流程以使用最新版本。有关活动模块的更多信息,请参见了解工作流程活动

要部署活动模块更新:

  1. 在 Navigation(导航)窗格中,单击 Processes(流程)。

  2. 如果要将活动模块更新部署到所有流程,请完成以下步骤:

    1. 在 Global Tasks(全局任务)列表中,单击 Deploy Activity Module Updates(部署活动模块更新)。

    2. 完成部署活动模块更新向导。

  3. 如果要将活动模块更新部署到特定流程,请完成以下步骤:

    1. 在左窗格中,选择相应的流程。

    2. 在 Workflow Revisions(工作流程修订)列表中,选择要更新的修订。

    3. 在 Workflow Revision Tasks(工作流程修订任务)列表中,单击 Deploy Activity Module Updates(部署活动模块更新)。

    4. 完成部署活动模块更新向导。

  4. 单击 Finish(完成)以部署更新后的活动模块。

5.0 了解活动库

工作流程设计器中的活动库包含预先配置的工作流程活动和连接器,您可以使用它们来构建工作流程。

当您安装较新版本的活动模块时,Workflow Automation 会自动更新活动库以使用最新版本,确保流程作者在设计时间拥有最新的版本。Workflow Automation 不会升级现有工作流程。有关手动部署活动模块更新到现有工作流程的更多信息,请参阅部署活动模块更新

工作流程设计器支持以下类型的活动库:

特定于产品的库

包含与特定适配器相关的活动,如 AppManager 适配器。Workflow Automation 管理员作为安装和配置适配器的一部分来安装特定于产品的库。

默认库

包含您可以在任何工作流程中使用的 Workflow Automation 活动。

自定义库

您创建用来包含您常用的预先配置工作流程活动的库。自定义库是针对您的环境而创建,可以包含默认活动和产品特定活动的组合。有关创建自己的库的更多信息,请参见创建自定义库

5.1 创建自定义库

您可以创建一个自定义活动库,其中包含您经常使用的一组预先配置的工作流程活动。

要在工作流程设计器中创建自定义库:

  1. 将您想要的活动和连接器从现有库拖到设计网格。

  2. 配置适合您需求的活动。

  3. 在 Activity Library(活动库)选项卡上,在 Library (库)组中单击 Create New Library(创建新库)。

  4. 将自定义活动从设计网格拖动到新库。

    注:当您将自定义活动添加到库时,Workflow Automation 会检查是否有较新版本的活动。如果有较新的版本,Workflow Automation 会自动更新活动。

  5. 在 Activity Library(活动库)选项卡上,在 Properties(属性)组中单击 Library Properties(库属性)。

  6. 在 Library Properties(库属性)窗口中,提供相应的信息,然后单击 OK(确定)。

  7. 在 Activity Library(活动库)选项卡的 Library(库)组中单击 Save Library(保存库)。

5.2 自定义现有活动库

创建活动库后,您可以随时添加、删除或自定义与库相关的活动。

要自定义工作流程设计器中的现有库:

  1. 如果要向现有库中添加新活动,将您想要的活动从现有库拖至设计网格。

  2. 如果库已打开,请在 Library Browser(库浏览器)中选择该库。

  3. 如果库尚未打开,则完成以下步骤:

    1. 在 Activity Library(活动库)选项卡上,在 Library (库)组中单击 Open Libraries(打开库)。

    2. 在 Open Activity Library(打开活动库)窗口中,选择一个或多个库,然后单击 OK(确定)。

  4. 配置适合您需求的活动。

  5. 将自定义活动从设计网格拖动到库。

  6. 在 Activity Library(活动库)选项卡的 Library(库)组中单击 Save Library(保存库)。

  7. 如果显示 Save Activity Library As(将活动库另存为)窗口,请在 Name(名称)字段中键入新名称。

    注:当您自定义内置库时,您必须更改名称并将其保存为新的自定义库。

  8. 单击确定

5.3 导入和导出活动库

您可以导入和导出任何活动库,以便在整个组织和地理结构中共享。如果所导入库中有活动的更新版本,则 Workflow Automation 会自动更新活动库以使用活动的最新版本。