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


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

Создайте последовательность задач развертывания Configuration Manager операционной системы, создав экземпляр класса SMS_TaskSequence.

Последовательность задач содержит один или несколько шагов, которые выполняются последовательно на клиентском компьютере. Дополнительные сведения см. в разделе Объектная модель последовательности задач развертывания операционной системы.

Затем последовательность задач упаковается в SMS_TaskSequencePackage и объявляется на клиентском компьютере.

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

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

  2. Создайте объект последовательности SMS_TaskSequence задач.

  3. Добавьте действия и, при необходимости, добавьте в действие группы. Дополнительные сведения см. в разделе Добавление действия последовательности задач развертывания операционной системы.

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

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

Пример

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

Сведения о вызове примера кода см. в разделе Вызов фрагментов кода 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 администрирование на основе ролей.

См. также

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