Como criar um pacote de sequência de tarefas de implantação de sistema operacional

Você cria uma sequência de tarefas de implantação do sistema operacional, em Configuration Manager, criando uma instância da classe SMS_TaskSequencePackage. Essa classe deriva da classe SMS_Package e contém a sequência de tarefas. Ele é anunciado para clientes que podem executar a sequência de tarefas. A sequência de tarefas é associada ao pacote de sequência de tarefas usando o SMS_TaskSequencePackage método SetSequence da classe.

Você pode organizar pacotes de sequência de tarefas em categorias atribuindo uma categoria a eles com a propriedade Categoria da classe SMS_TaskSequence.

Para obter mais informações sobre como criar sequências de tarefas, consulte Como criar uma sequência de tarefas. Para obter mais informações sobre pacotes de sequência de tarefas, consulte o Modelo de Objeto de Sequenciamento de Tarefas.

Você anuncia um pacote de sequência de tarefas da mesma forma que anuncia um pacote SMS_Packagedo Configuration Manager. Para obter mais informações, consulte Como criar um anúncio.

Para criar um pacote de sequência de tarefas

  1. Configure uma conexão com o provedor de SMS. Para obter mais informações, consulte Sobre o provedor SMS no Configuration Manager.

  2. Crie uma instância de SMS_TaskSequencePackage.

  3. Preencha as propriedades do pacote de sequência de tarefas.

  4. Chame o método de SMS_TaskSequencePackage classe SetSequence para associar uma sequência de tarefas (SMS_TaskSequence) ao pacote de sequência de tarefas.

Exemplo

O método de exemplo a seguir cria um pacote de sequência de tarefas (SMS_TaskSequencePackage) e associa a sequência de tarefas (SMS_TaskSequence) a ele.

Para obter informações sobre como chamar o código de exemplo, consulte Chamando trechos de código do 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;
    }
}

Este método de exemplo tem os seguintes parâmetros:

Parâmetro Tipo Descrição
connection - Gerenciado: WqlConnectionManager
- VBScript: SWbemServices
Uma conexão válida com o provedor de SMS.
taskSequence - Gerenciado: IResultObject
- VBScript: SWbemObject
Uma sequência de tarefas válida SMS_TaskSequence

Compilando o código

O exemplo do C# requer:

Namespaces

System

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

Microsoft.ConfigurationManagement.ManagementProvider

adminui.wqlqueryengine

Programação robusta

Para obter mais informações sobre o tratamento de erros, consulte Sobre erros do Configuration Manager.

Segurança do .NET Framework

Para obter mais informações sobre como proteger aplicativos do Configuration Manager, consulte Administração baseada em funções do Configuration Manager.

Confira também

Visão geraldos objetos Como se conectar a um provedor de SMS no Configuration Manager usando código gerenciadoComo conectar-se a um provedor de SMS no Configuration Manager usando WMIComo criar uma sequência de tarefasVisão geral da sequência de tarefas