如何创建操作系统部署任务序列
可以通过创建 SMS_TaskSequence 类的实例来创建Configuration Manager操作系统部署任务序列。
任务序列包含一个或多个在客户端计算机上按顺序运行的步骤。 有关详细信息,请参阅 操作系统部署任务序列对象模型。
然后,任务序列打包在 SMS_TaskSequencePackage 中,并播发到客户端计算机。
创建任务序列
设置与 SMS 提供程序的连接。 有关详细信息,请参阅 SMS 提供程序基础知识。
创建任务序列
SMS_TaskSequence
对象。添加操作,并根据需要向操作添加组。 有关详细信息,请参阅 如何添加操作系统部署任务序列操作。
将任务序列与任务序列包相关联。 有关详细信息,请参阅 如何创建操作系统部署任务序列包。
将任务序列播发到客户端计算机。 有关详细信息,请参阅 如何创建播发。
示例
以下示例方法创建一个用于安装软件程序的任务序列。 该示例还通过调用 如何创建操作系统部署任务序列包中定义的示例来创建任务序列包。
有关调用示例代码的信息,请参阅调用Configuration Manager代码片段。
Sub CreateInstallSoftwareTaskSequence(connection,name, description, packageID, programName)
' Create the task sequence.
set taskSequence = connection.Get("SMS_TaskSequence").SpawnInstance_
' Create the action.
set action = connection.Get("SMS_TaskSequence_InstallSoftwareAction").SpawnInstance_
action.ProgramName=programName
action.PackageID=packageID
action.Name=name
action.Enabled=true
action.ContinueOnError=false
' Create an array to hold the action.
actionSteps= array(action)
' Add the array to the task sequence.
taskSequence.Steps=actionSteps
wscript.echo taskSequence.Steps(0).Name
call CreateTaskSequencePackage (connection, taskSequence)
End Sub
public void CreateInstallSoftwareTaskSequence(
WqlConnectionManager connection,
string name,
string packageId,
string programName)
{
try
{
// Create the task sequence.
IResultObject taskSequence = connection.CreateInstance("SMS_TaskSequence");
IResultObject ro = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_InstallSoftwareAction");
ro["ProgramName"].StringValue = programName;
ro["packageId"].StringValue = packageId;
ro["Name"].StringValue = name;
ro["Enabled"].BooleanValue = true;
ro["ContinueOnError"].BooleanValue = false;
// Add the step to the task sequence.
List<IResultObject> array = taskSequence.GetArrayItems("Steps");
array.Add(ro);
taskSequence.SetArrayItems("Steps", array);
// Create the task sequence package.
this.CreateTaskSequencePackage(connection, taskSequence);
}
catch (SmsException e)
{
Console.WriteLine("Failed to create Task Sequence: " + e.Message);
throw;
}
}
示例方法具有以下参数:
参数 | 类型 | 说明 |
---|---|---|
Connection |
-管理: WqlConnectionManager - VBScript: SWbemServices |
与 SMS 提供程序的有效连接。 |
name |
-管理: String - VBScript: String |
任务序列步骤名称。 |
description |
- VBScript: String |
任务序列步骤说明。 |
packageID |
-管理: String - VBScript: String |
包含要安装的软件的包标识符。 从 SMS_Package.PackageID 获取。 |
programName |
-管理: String - VBScript: String |
要安装的程序的名称。 从 SMS_Program.ProgramName 获取。 |
编译代码
此 C# 示例需要:
命名空间
System
System.Collections.Generic
System.Text
Microsoft。ConfigurationManagement.ManagementProvider
Microsoft。ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
可靠编程
有关错误处理的详细信息,请参阅关于Configuration Manager错误。
.NET Framework 安全性
有关保护Configuration Manager应用程序的详细信息,请参阅Configuration Manager基于角色的管理。
另请参阅
对象概述如何使用托管代码连接到 Configuration Manager 中的 SMS 提供程序
如何使用 WMI 连接到 Configuration Manager 中的短信提供程序
任务序列概述如何创建操作系统部署任务序列包