操作系统部署任务序列对象模型
在 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_ActionName
Action,其中 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_TaskSequenceStep
类 Enabled
属性必须设置为 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_ConditionExpression
(Exp1
).SMS_TaskSequence_ConditionOperator
(嵌套表达式Exp2 or Exp3
) 。SMS_TaskSequence_ConditionOperator服务器 WMI 类
Operands
数组属性包含表达式Exp2
和Exp3
SMS_TaskSequence_ConditionOperator 服务器 WMI 类Operator
属性包含所需的运算符。 在本例or
中。
注意
任务序列步骤的 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 类
如何向操作系统部署任务序列步骤添加条件