Поделиться через


Создание пакета последовательности задач развертывания операционной системы

Вы создаете последовательность задач развертывания операционной системы в Configuration Manager путем создания экземпляра класса SMS_TaskSequencePackage. Этот класс является производным от класса SMS_Package и содержит последовательность задач. Он объявляется клиентам, которые затем могут запустить последовательность задач. Последовательность задач связана с пакетом последовательности задач с помощью SMS_TaskSequencePackage метода класса SetSequence .

Пакеты последовательности задач можно упорядочить по категориям, назначив им категорию с помощью свойства класса SMS_TaskSequenceCategory .

Дополнительные сведения о создании последовательностей задач см. в статье Создание последовательности задач. Дополнительные сведения о пакетах последовательности задач см. в разделе Объектная модель виртуализации задач.

Вы объявляете пакет последовательности задач так же, как и пакет Configuration Manager SMS_Package. Дополнительные сведения см. в разделе Создание объявления.

Создание пакета последовательности задач

  1. Настройте подключение к поставщику SMS. Дополнительные сведения см. в разделе Сведения о поставщике SMS в Configuration Manager.

  2. Создайте экземпляр SMS_TaskSequencePackage.

  3. Заполните свойства пакета последовательности задач.

  4. 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

Майкрософт. ConfigurationManagement.ManagementProvider

Майкрософт. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Надежное программирование

Дополнительные сведения об обработке ошибок см. в разделе Сведения об ошибках Configuration Manager.

Безопасность .NET Framework

Дополнительные сведения о защите приложений Configuration Manager см. в статье Configuration Manager администрирование на основе ролей.

См. также

Общие сведения об объектах. Подключение к поставщику SMS в Configuration Manager с помощью управляемого кода
Подключение к поставщику SMS в Configuration Manager с помощью WMI
Создание последовательности задач
Обзор последовательности задач