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


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

Вы создаете последовательность задач развертывания операционной системы в 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

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

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

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

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

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

См. также

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