操作系统部署任务序列对象模型

在 Configuration Manager 中,使用 Windows Management Instrumentation (WMI) 基于类的对象模型创建和编辑操作系统部署任务序列。

警告

不支持通过更新任务序列 XML 来更改任务序列。 仅当将任务序列导出到不同站点时,才需要 XML。 XML 存储在 SMS_TaskSequencePackage 服务器 WMI 类Sequence 属性中。

任务序列包

任务序列打包在 SMS_TaskSequencePackage 服务器 WMI 类 类的实例中,每个任务序列都有一个包。 使用 SMS_Advertisement 服务器 WMI 类 类的实例将包播发到客户端计算机。 若要将任务序列包与播发相关联,请将 SMS_Advertisement 服务器 WMI 类 PackageID 属性设置为 SMS_TaskSequencePackage 服务器 WMI 类 PackageID 属性。

注意

SMS_TaskSequencePackage服务器 WMI 类 派生自 SMS_Package 服务器 WMI 类 ,可以采用与使用包相同的方式使用。 有关详细信息,请参阅 软件分发概述

有关创建任务序列包的详细信息,请参阅 如何创建操作系统部署任务序列包

有关创建播发的详细信息,请参阅 如何创建播发

任务序列

若要创建和管理任务序列,Configuration Manager提供了许多 WMI 类,这些类表示任务序列、任务序列步骤 (操作和组) 和步骤条件。

关键的 WMI 类包括:

SMS_TaskSequence

SMS_TaskSequence 类表示单个任务序列。 可以创建新的 SMS_TaskSequence 实例,也可以使用 方法 SMS_TaskSequencePackage.GetSequence 使用现有任务序列填充 SMS_TaskSequence

注意

如果创建新的 SMS_TaskSequence,则必须将其与 SMS_TaskSequencePackage相关联。 否则,Configuration Manager不知道其存在。

类属性SMS_TaskSequence.Steps 是 SMS_TaskSequence_Step 派生类的数组。 运行任务序列时,将按顺序处理这些步骤。

SMS_TaskSequenceStep

两种类型的步骤(操作和组)派生自 SMS_TaskSequenceStep 类。 这两种类型的步骤是组的SMS_TaskSequence_Group类和Configuration Manager内置操作或自定义操作的SMS_TaskSequence_Action派生类。

步骤具有许多可以设置的属性。

属性 说明
条件 处理步骤必须满足的条件。 这在 SMS_TaskSequence_Condition 类的实例中。
ContinueOnError 如果设置为 true,则发生错误时,任务序列将继续执行下一步。 否则,任务序列会将失败传播回父级。 如果父组是组,则计算父组的 ContinueOnError 属性。 如果父级是任务序列根,则任务序列将失败。
已启用 如果设置为 true,则会处理步骤。 否则,不会处理步骤。

此步骤还具有 Name 和 Description 属性。

注意

本文档介绍该过程同时适用于操作和组时的步骤。 例如, 如何从操作系统部署组中删除步骤 是一项同时适用于操作删除和组删除的任务。

SMS_TaskSequenceAction

Configuration Manager定义许多在派生自 SMS_TaskSequence_Action 类的类中定义的内置操作。 例如,允许指定命令行的操作是 SMS_TaskSequence_RunCommandLineAction 类。

注意

内置操作命名为 SMS_TaskSequence_ActionNameAction,其中 ActionName 是内置操作的名称。 有关详细信息,请参阅 SMS_TaskSequence_Action服务器 WMI 类

除了继承自 SMS_TaskSequenceStep 的属性外,派生操作还会从 SMS_TaskSequence_Action 类继承 以下属性,你可以设置这些属性:

属性 说明
SupportedEnvironment 指定可在其中运行操作的操作环境。 有效值为“WinPE”、“FullOS”、“WinPEandFullOS”。
Timeout 指定操作的超时期限(以秒为单位)。

SMS_TaskSequenceGroup

SMS_TaskSequence_Group 服务器 WMI 类类表示按顺序处理的一组步骤。 SMS_TaskSequence_Group服务器 WMI 类 Steps 属性是SMS_TaskSequence_Step 服务器 WMI 类 类的数组,这些类表示组的步骤。 由于组步骤派生自 SMS_TaskSequence_Step 服务器 WMI 类,因此步骤中可以有其他子组。

SMS_TaskSequence_Condition

每个 SMS_TaskSequence_Step服务器 WMI 类 和派生类 (操作和组) 可以具有一个关联的条件,该条件必须满足才能运行该条件。 例如,你可能希望在安装了 Microsoft Office 2007 的计算机上处理步骤。 此外,你可能还希望进一步将步骤限制为 Windows Vista 操作系统。

注意

对于要处理的条件, SMS_TaskSequenceStepEnabled 属性必须设置为 true

在任务序列步骤中, SMS_TaskSequence_Step服务器 WMI 类 条件属性包含一个 保存条件SMS_TaskSequence_Condition服务器 WMI 类 对象。 条件由一个或多个操作数组成,这些操作数在 SMS_TaskSequence_ConditionOperand 服务器 WMI 类 派生类的数组中由 Operands 属性定义。 每个操作数都是一个表达式,其计算结果 true必须为 ,以便处理步骤 - 逻辑 and 操作。

表达式

单个表达式在 SMS_TaskSequence_ConditionExpression服务器 WMI 类 派生类中定义。

注意

SMS_TaskSequence_ConditionExpression 派生自 SMS_TaskSequenceConditionOperand

例如,可以使用 SMS_TaskSequence_SoftwareConditionExpression Server WMI 类来定义 Microsoft Office 2007 的表达式。 用于定义 Windows Vista 表达式的类将 SMS_TaskSequence_OSConditionGroup服务器 WMI 类

嵌套表达式

可以使用 SMS_TaskSequence_ConditionOperator 服务器 WMI 类定义包含嵌套表达式的更复杂的条件。 此类也派生自 SMS_TaskSequence_ConditionOperand 服务器 WMI 类

例如,可以通过将以下条件操作数添加到任务序列步骤SMS_TaskSequence_Condition服务器 WMI 类实例的Operand数组属性来形成Exp1 and (Exp2 or Exp3)条件。

注意

任务序列步骤的 SMS_TaskSequence_Condition 服务器 WMI 类Operand 数组属性中的操作数会自动与 运算符进行比较, and 以评估条件。 中的 SMS_TaskSequence_ConditionOperator 表达式必须具有 由 Operator 属性定义的运算符。

由于 SMS_TaskSequence_Condition 服务器 WMI 类Operands 属性是 SMS_TaskSequence_ConditionOperand服务器 WMI 类 类的数组,因此可以创建更复杂的条件,例如 Exp1 and (Exp2 or (Exp3 and Exp4))

有关条件的详细信息,请参阅 如何向操作系统部署任务序列步骤添加条件

另请参阅

SMS_TaskSequence_ConditionOperand服务器 WMI 类
如何向操作系统部署任务序列步骤添加条件