Next Topic

Previous Topic

Book Contents

IF-ELSE-STEP 服务台命令

以下是关于服务台程序中使用的 IF-ELSESTEP 语句的摘要。

IF-ELSE 语句

检查变量

计算给定的变量。

测试重复的请求

比较入站电子邮件,以确定它是否是现有工单的重复项。

测试工单的自定义字段

将工单中的自定义字段与指定的值或变量进行比较。

测试新工单的属性值

将工单中的字段值与指定的值或变量进行比较。

测试收据的属性值

将入站电子邮件中的字段值与指定的值或变量进行比较。

STEP 语句

添加注释

向正由程序处理的工单添加注释,

分配工单自定义字段

为工单中的自定义字段分配值。

分配工单属性

为工单中的字段分配值。

删除工单

删除正由程序处理的工单。

执行通用子程序

启动其他程序。

执行 Shell 命令

在 KServer 上执行 shell 命令

当前工单事务失败

对工单所做的更改未保存到数据库。

获取变量

获取输入的值或储存在 KServer 上的文件中的值。

链接到其他工单

将其他工单与正处理的工单相关联。

暂停分段目标

暂停根据分段目标计数所耗费时间的操作。

暂停工单目标

暂停根据工单目标计数所耗费时间的操作。

恢复分段目标

恢复根据分段目标计数所耗费时间的操作。

恢复工单目标

恢复根据工单目标计数所耗费时间的操作。

计划程序

为指定计算机运行选定的代理程序

发送电子邮件

发送电子邮件给一个或多个收件人。

发送消息

向用户的收件箱发送消息。

向池用户发送消息

向池中包含的每个用户的收件箱发送消息。

设置升级时间

设置升级工单的时间。

设置目标时间

设置工单或分段计划完成的时间。

设置工单目标时间

设置整个工单的到期日期。

写入程序日志条目

向“系统”>“应用程序记录”写入条目。

使用之处

这些 IF-ELSESTEP 语句由以下类型的服务台程序使用。

IF-ELSE 语句

分段进入或退出

工单更改

工单请求重复项删除

工单请求映射

工单目标

工单升级

子程序

检查变量

测试重复的请求

 

 

 

 

 

 

测试工单的自定义字段

 

测试新工单的属性值

 

测试收据的属性值

 

 

 

 

 

 

STEP 语句

分段进入或退出

工单更改

工单请求重复项删除

工单请求映射

工单目标

工单升级

子程序

添加注释

 

分配工单自定义字段

 

分配工单属性

删除工单

 

执行通用子程序

执行 Shell 命令

当前工单事务失败

 

 

获取变量

链接到其他工单

 

暂停分段目标

 

 

暂停工单目标

 

 

恢复分段目标

 

 

 

恢复工单目标

 

 

计划程序

发送电子邮件

发送消息

向池用户发送消息

 

设置升级时间

 

设置目标时间

 

设置工单目标时间

 

 

写入程序日志条目

IF-ELSE 详细信息

检查变量

#var_name# 格式输入变量的名称。该名称可以是之前在当前程序或父程序中定义的全局变量或程序变量。如果为全局变量,则全局变量的值必须与正在运行的程序兼容。有关变量的详细信息,请参见程序变量使用变量

输入字符串比较操作符。这些字符串比较选项适用于所有 IF 命令。请参见字符串比较日期/时间比较

然后,输入第二个值与第一个值进行比较。除值外,您还可以输入格式为 [$objectname$] 的对象变量或格式为 [=var_name=] 的全局变量或程序变量。有关对象变量的列表,请参见消息模板

如果测试结果为 True,则执行 IF 步骤。如果测试结果为 false,则执行 ELSE 步骤。

测试重复的请求

此 IF 命令仅适用于工单请求重复项删除程序。

测试工单请求以查看它是否为任何现有工单的重复项。防止在指定时间限制内,为工单请求创建多个工单。

工单请求服务台收到创建工单的请求时创建。工单请求基于入站电子邮件或系统事件(例如警报条件)。接收电子邮件设置和链接的服务台程序决定了工单请求处理为工单的方式,用于创建工单的服务台以及是否取消工单请求。

如果符合以下一个或多个条件,则测试结果为 true。

  • 匹配提交者姓名
  • 匹配提交者电子邮件地址
  • 匹配请求主题
  • 匹配源类型
    • 0 - 计数器
    • 1 - 服务
    • 2 - 进程
    • 3 - SNMP
    • 4 - 提示
    • 5 - 系统检查
    • 6 - KES
    • 7 - 日志分析器
  • 匹配第一个引用字段。指的是事件日志提示的事件 ID 和值 ID。
  • 匹配第二个引用字段。指的是提示日志类型,即系统检查或事件日志提示。事件日志提示的类别为“6 = 自定义”日志类型提示。
    • 1 = Web 服务器检查
    • 2 = dns 检查
    • 4 = 端口检查
    • 5 = ping
    • 6 = 自定义
  • 匹配计算机
  • 匹配计算机组

根据工单创建日期,缩减对最近 <N> 个时段的匹配。

测试工单的自定义字段

以格式 custom_field 输入自定义字段的名称,不含任何形式的括号字符。

输入字符串比较操作符。这些字符串比较选项适用于所有 IF 命令。请参见字符串比较日期/时间比较

然后,输入第二个值与第一个值进行比较。除值外,您还可以输入格式为 [$objectname$] 的对象变量或格式为 [=var_name=] 的全局变量或程序变量。有关对象变量的列表,请参见消息模板。有关变量的详细信息,请参见程序变量使用变量

如果测试结果为 True,则执行 IF 步骤。如果测试结果为 false,则执行 ELSE 步骤。

测试新工单的属性值

从下拉列表中选择格式为 objectname 的工单属性,不含任何形式的括号字符。

输入字符串比较操作符。这些字符串比较选项适用于所有 IF 命令。请参见字符串比较日期/时间比较

然后,输入第二个值与第一个值进行比较。除值外,您还可以输入格式为 [$objectname$] 的对象变量或格式为 [=var_name=] 的全局变量或程序变量。有关对象变量的列表,请参见消息模板。有关变量的详细信息,请参见程序变量使用变量

如果检查结果为 True,则执行 IF 步骤命令。如果检查结果为 false,则执行 ELSE 步骤。

测试收据的属性值

此 IF 命令仅适用于工单请求映射程序。

从下拉列表中选择格式为 objectname 的工单属性,不含任何形式的括号字符。

输入字符串比较操作符。这些字符串比较选项适用于所有 IF 命令。请参见字符串比较日期/时间比较

然后,输入第二个值与第一个值进行比较。除值外,您还可以输入格式为 [$objectname$] 的对象变量或格式为 [=var_name=] 的全局变量或程序变量。有关对象变量的列表,请参见消息模板。有关变量的详细信息,请参见程序变量使用变量

如果测试结果为 True,则执行 IF 步骤。如果测试结果为 false,则执行 ELSE 步骤。

SourceType、SourceTag 和 SourceValue 属性

系统事件触发工单创建并且激活服务台整合时,系统将填充 SourceTypeSourceTagSourceValue 属性。例如,各种不同类型的警报条件可以触发工单创建操作。下表显示了如何通过各种警报条件填充 SourceType 及三个 SourceTag 字段。SourceValue 列(未显示在此表中)包含与这些 SourceTag 字段对应的特定值。

SourceType

SourceTag1

SourceTag2

SourceTag3

事件日志

agentguid

alertid

EventId

计数器

agentguid

monitorobjectid

monitorvalue

代理离线

agentguid

alertid

 

服务

agentguid

monitorobjectid

monitorvalue

新补丁

agentguid

alertid

 

代理证书无效

agentguid

alertid

 

提示

agentguid

monitorobjectid

 

Win AU 已更改

agentguid

alertid

 

RAM 更改

agentguid

alertid

 

磁盘驱动更改

agentguid

alertid

 

代理在线

agentguid

alertid

 

PCI 卡更改

agentguid

alertid

 

系统检查

agentguid

alertid

 

字符串比较

在 IF 命令中执行的字符串比较不区分大小写。可用的测试如下:

  • 存在:如果变量存在变量具有非空值,则为 true
  • 不存在:如果变量存在变量具有空值,则为 true
  • 等于:如果变量的值等于测试值,则为 True。
  • 不等于:如果变量的值等于测试值,则为 True。
  • 大于:如果变量的值大于测试值,则为 True。
  • 大于或等于:如果变量的值大于或等于测试值,则为 True。
  • 小于:如果变量的值小于测试值,则为 True。
  • 小于或等于:如果变量的值小于或等于测试值,则为 True。
  • 包含:如果测试值是变量的子字符串(变量必须为字符串),则为 True。
  • 不包含:如果测试值是变量的子字符串(变量必须为字符串),则为 True。

对于测试等于不等于大于大于或等于小于小于或等于,比较的变量可以是字符串、数字、格式为 yyyy/mm/ddyyyy/mm/dd hh:mmyyyy/mm/dd hh:mm:ss 的日期,或包含圆点或逗号的版本号(例如 1.2.34,5,6,7)。如果指定了日期格式,则可以使用 + dd:hh:mm:ss- dd:hh:mm:ss 进行偏移。 仅需要 dd 天; hh 小时、mm 分钟和 ss 秒可被忽略,并在空缺时假定为零。

日期/时间比较

您可以使用 IF 语句相对于当前时间测试某时间是否为 true。相对时间以 [-][d.]hh:mm:ss 形式指定,其中 d 为天数,hh 为小时数,mm 为分钟数,ss 为秒数。在前面指定一个 可使系统计算过去的时间。因此,-1:00:00 表示一个小时前,-3.12:45:08 表示三天 12 小时 45 分钟 8 秒前。请注意,天数后面紧跟一个句号而非冒号。指定 d - 是可选的。这些时间不计入与策略关联的时数范围。例如,IF 语句可以进行测试以查看工单的创建日期/时间是否早于 3 天。第一个值为 CreateDateTime,操作符为小于,比较值为 -3.00:00:00

STEP 详细信息

添加注释

向正由程序处理的工单添加注释,选择是否隐藏注释。

选择注释模板而非输入注释。

注释文本可以包含格式为 [$objectname$] 的对象变量,或者格式为 [=var_name=] 的全局变量或程序变量。有关对象变量的列表,请参见消息模板。有关变量的详细信息,请参见程序变量使用变量

分配工单自定义字段

为工单中的自定义字段分配值。以格式 custom_field 输入自定义字段的名称,不含任何形式的括号字符。然后,输入与此自定义字段允许的可能值范围匹配的值。可能值的范围使用“服务台”>“定义”>“属性”>“自定义字段”选项卡指定。

您还可以输入格式为 [$objectname$] 的对象变量,或者格式为 [=var_name=] 的全局变量或程序变量。有关对象变量的列表,请参见消息模板。有关变量的详细信息,请参见程序变量使用变量

分配工单属性

为工单中的属性分配值。可以分配的属性集显示在下拉列表中。提供的值可以是格式为 [=var_name=] 的全局变量名称或程序变量名称。有关变量的详细信息,请参见程序变量使用变量

删除工单

删除正由程序处理的工单。

执行通用子程序

导致执行子程序。使用此功能将多个 IF-ELSE 子句结合到一起。您可以将程序执行方式嵌套为 10 个级别。

执行 Shell 命令

在 KServer 上执行 shell 命令。从 \windows\system32 目录运行。例如,shell 命令 dir c:\temp 将从 \windows\systems32 目录运行目录命令,但为 c:\temp 显示目录。运行批处理文件时,使用该批处理文件顶部的 cd 命令可以更改目录,并从该目录运行所有后续命令。系统提供了单独字段将命令行输出转向输出文件或变量。如果存在输出文件,其将被覆盖。

当前工单事务失败

如果包含在程序中,则取消对工单的所有更改。取消保存工单前手动对工单所做的更改,以及运行该步骤前在正处理的程序中所做的工单更改。不取消在运行此步骤前处理的发送电子邮件发送消息步骤。在运行此步骤后取消程序中的所有步骤

获取变量

定义新的程序变量,然后为其分配值,指定不含括号的变量名称。例如:var_name.

在任何后续步骤中,您可以通过在变量名称周围添加 [==],在文本字段中引用此变量。例如:[=var_name=].有关变量的详细信息,请参见程序变量使用变量

  • 常量值 - 为变量输入值。

链接到其他工单

将正在处理的工单链接到指定的工单 ID 或知识库文章 ID。

暂停分段目标

暂停根据当前分段目标计数所耗费时间的操作。可以使用“服务台”>“定义”>“处理”>“分段”>“程序”选项卡将目标程序链接到分段

暂停工单目标

暂停根据工单目标计数所耗费时间的操作。工单目标会确定整个工单的到期日期。可以使用“定义”>“属性”>“常规”>“程序”选项卡将目标链接到服务台。

恢复分段目标

恢复根据当前分段目标计数所耗费时间的操作。可以使用“服务台”>“定义”>“处理”>“分段”>“程序”选项卡将目标程序链接到分段

恢复工单目标

恢复根据工单目标计数所耗费时间的操作。工单目标会确定整个工单的到期日期。可以使用“定义”>“属性”>“常规”>“程序”选项卡将目标链接到服务台。

计划程序

为指定计算机运行选定的代理程序。使用 [$FullMachineName$] 指定计算机名称和计算机组,其中假定计算机与工单相关联。否则,您可以为计算机名称输入程序变量,或指定固定的计算机名称值。

发送电子邮件

发送电子邮件给一个或多个收件人。指定电子邮件的主题和正文。

您可以在发送电子邮件”命令的收件人”发件人”主题”正文”字段中包括对象变量、目标变量和程序变量。在发送电子邮件”命令中,您可以引用链接到的消息模板中的对象变量、目标变量和程序变量。有关对象变量的列表,请参见消息模板。有关变量的详细信息,请参见程序变量使用变量

还可以输入用户池的名称。名称使用逗号或分号隔开。以下优先顺序确定了收件人的电子邮件地址。检查发送电子邮件步骤中“收件人”字段中的名称以查看它是否:

  • 作为用户名存在。如果找到该名称,并且该用户存在电子邮件地址,则将使用该电子邮件地址。
  • 符合 SMTP 电子邮件地址格式。例如,user@domain.com。如果名称与该模式相匹配,则该名称将用于电子邮件地址。如果服务台池名称符合电子邮件地址格式,则系统会向该电子邮件地址而不是池中的用户发送电子邮件。
  • 系统将以服务台池的形式查找该名称。电子邮件会被发送到与池中每个用户关联的电子邮件地址。

发送消息

向用户的收件箱发送消息。

您尽可以在发送电子邮件”对话框的收件人”字段中输入一个用户名。使用“向用户池发送消息”向多个用户发送消息。

您可以在发送消息”命令的收件人”发件人”主题”正文”字段中包括对象变量、目标变量和程序变量。在发送消息”命令中,您可以引用链接到的消息模板中的对象变量、目标变量和程序变量。有关对象变量的列表,请参见消息模板。有关变量的详细信息,请参见程序变量使用变量

向池用户发送消息

向选定池中包含的所有用户的收件箱发送消息。

您可以在向池用户发送消息”命令的主题”正文”字段中包括对象变量、目标变量和程序变量。在向用户池发送消息”命令中,您可以引用链接到的消息模板中的对象变量、目标变量和程序变量。有关对象变量的列表,请参见消息模板。有关变量的详细信息,请参见程序变量使用变量

设置升级时间

设置升级工单的时间。可以使用“服务台”>“定义”>“处理”>“分段”>“程序”选项卡覆盖为分段设置的默认升级时间。

设置目标时间

设置计划完成分段目标的时间。可以使用“服务台”>“定义”>“处理”>“分段”>“程序”选项卡覆盖为分段设置的默认目标时间。

设置工单目标时间

设置计划完成工单目标的时间。工单目标会确定整个工单的到期日期。可以使用“定义”>“处理”>“常规”>“程序”选项卡覆盖为工单设置的默认目标时间。

写入程序日志条目

向“系统”>“应用程序记录”写入提供的字符串。

主题 : 发送反馈。 从内容表格的第一个主题下载此联机图书的 PDF 版本。