Como criar uma sequência de tarefas de implantação do sistema operacional

Você cria uma sequência de tarefas de implantação de sistema operacional Configuration Manager criando uma instância da classe SMS_TaskSequence.

Uma sequência de tarefas contém uma ou mais etapas que são executadas sequencialmente no computador cliente. Para obter mais informações, consulte Modelo de objeto de sequência de tarefas de implantação de sistema operacional.

A sequência de tarefas é empacotada em um SMS_TaskSequencePackage e anunciada para o computador cliente.

Para criar uma sequência de tarefas

  1. Configure uma conexão com o provedor de SMS. Para obter mais informações, consulte Conceitos básicos do Provedor SMS.

  2. Crie um objeto de sequência SMS_TaskSequence de tarefas.

  3. Adicione ações e, conforme necessário, adicione grupos à ação. Para obter mais informações, consulte Como adicionar uma ação de sequência de tarefas de implantação do sistema operacional.

  4. Associe a sequência de tarefas a um pacote de sequência de tarefas. Para obter mais informações, consulte Como criar um pacote de sequência de tarefas de implantação do sistema operacional.

  5. Anuncie a sequência de tarefas para o computador cliente. Para obter mais informações, consulte Como criar um anúncio.

Exemplo

O método de exemplo a seguir cria uma sequência de tarefas que instala um programa de software. O exemplo também cria um pacote de sequência de tarefas chamando o exemplo definido em Como criar um pacote de sequência de tarefas de implantação de sistema operacional.

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

O 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.
name - Gerenciado: String
- VBScript: String
O nome da etapa da sequência de tarefas.
description - VBScript: String A descrição da etapa da sequência de tarefas.
packageID - Gerenciado: String
- VBScript: String
O identificador do pacote que contém o software a ser instalado. Obtido de SMS_Package.PackageID.
programName - Gerenciado: String
- VBScript: String
O nome do programa a ser instalado. Obtido de SMS_Program.ProgramName.

Compilando o código

Este exemplo do C# exige:

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 geral dos objetosComo se conectar a um provedor SMS no Configuration Manager usando código gerenciadoComo se conectar a um provedor SMS no Configuration Manager usando WMIVisão geral da sequência de tarefasComo criar um pacote de sequência de tarefas de implantação de sistema operacional