如何创建操作系统部署任务序列包
可以通过创建 SMS_TaskSequencePackage 类的实例,在 Configuration Manager 中创建操作系统部署任务序列。 此类派生自 SMS_Package 类,并保存任务序列。 它播发给客户端,然后可以运行任务序列。 任务序列通过使用SMS_TaskSequencePackage
类 SetSequence 方法与任务序列包相关联。
可以通过使用SMS_TaskSequence类 Category 属性为任务序列包分配类别,将任务序列包组织成类别。
有关创建任务序列的详细信息,请参阅 如何创建任务序列。 有关任务序列包的详细信息,请参阅 任务排序对象模型。
按与播发Configuration Manager包 相同的方式播发任务序列包SMS_Package
。 有关详细信息,请参阅 如何创建播发。
创建任务序列包
设置与 SMS 提供程序的连接。 有关详细信息,请参阅关于 Configuration Manager 中的 SMS 提供程序。
创建 的
SMS_TaskSequencePackage
实例。填充任务序列包属性。
SMS_TaskSequencePackage
调用 类SetSequence
方法,将任务序列 (SMS_TaskSequence
) 与任务序列包相关联。
示例
以下示例方法 () SMS_TaskSequencePackage
创建任务序列包,并将任务序列 (SMS_TaskSequence
) 关联。
有关调用示例代码的信息,请参阅调用Configuration Manager代码片段。
Sub CreateTaskSequencePackage (connection, taskSequence)
Dim taskSequencePackage
Dim packageClass
Dim objInParams
Dim objOutParams
' Create the new package object.
Set taskSequencePackage = connection.Get("SMS_TaskSequencePackage").SpawnInstance_
' Populate the new package properties.
taskSequencePackage.Name = "New task sequence package"
taskSequencePackage.Description = "A new task sequence package description"
' Get the parameters object.
Set packageClass = connection.Get("SMS_TaskSequencePackage")
Set objInParams = packageClass.Methods_("SetSequence"). _
inParameters.SpawnInstance_()
' Add the input parameters.
objInParams.TaskSequence = taskSequence
objInParams.TaskSequencePackage = taskSequencePackage
' Add the sequence.
Set objOutParams = connection.ExecMethod("SMS_TaskSequencePackage", "SetSequence", objInParams)
End Sub
public IResultObject CreateTaskSequencePackage(
WqlConnectionManager connection,
IResultObject taskSequence)
{
try
{
Dictionary<string, object> inParams = new Dictionary<string, object>();
// Create the new task sequence package.
IResultObject taskSequencePackage = connection.CreateInstance("SMS_TaskSequencePackage");
taskSequencePackage["Name"].StringValue = "New task sequence package";
taskSequencePackage["Description"].StringValue = "A brand new task sequence package";
taskSequencePackage["Category"].StringValue = "A custom category";
// Note. Add other package properties as required.
// Set up parameters that associate the task sequence with the package.
inParams.Add("TaskSequence", taskSequence);
inParams.Add("TaskSequencePackage", taskSequencePackage);
// Associate the task sequence with the package. Note that a call to Put is not required.
IResultObject result = connection.ExecuteMethod("SMS_TaskSequencePackage", "SetSequence", inParams);
// The path to the new package.
Console.WriteLine(result["SavedTaskSequencePackagePath"].StringValue);
return taskSequencePackage;
}
catch (SmsException e)
{
Console.WriteLine("Failed to create Task Sequence: " + e.Message);
throw;
}
}
此示例方法具有以下参数:
参数 | 类型 | 说明 |
---|---|---|
connection |
-管理: WqlConnectionManager - VBScript: SWbemServices |
与 SMS 提供程序的有效连接。 |
taskSequence |
-管理: IResultObject - VBScript: SWbemObject |
有效的任务序列 SMS_TaskSequence |
编译代码
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 中的短信提供程序
如何创建任务序列
任务序列概述