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

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

Uma sequência de tarefas contém uma ou mais etapas que são executados sequencialmente no computador cliente. Para obter mais informações, consulte Operating System Deployment Task Sequence Object Model.

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

Para criar uma sequência de tarefas

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

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

  3. Adicione ações e, conforme necessário, adicione grupos à ação. Para obter mais informações, consulte How to Add an Operating System Deployment Task Sequence Action.

  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 dosistema operacional.

  5. Anunciar a sequência de tarefas no 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 How to Create an Operating System Deployment Task Sequence Package.

Para obter informações sobre como chamar o código de exemplo, consulte Calling Configuration Manager Code Snippets.

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 example 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 de sequência de tarefas.
description - VBScript: String A descrição da etapa de 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 C# exemplo 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 About Configuration Manager Errors.

Segurança do .NET Framework

Para obter mais informações sobre como proteger aplicativos do Configuration Manager, consulte Configuration Manager role-based administration.

Confira também

Visão geral dos objetos Como Conexão para um provedor de SMS no Configuration Manager usando código gerenciado
Como Conexão um provedor SMS no Configuration Manager usando o WMI
Visão geral da sequência de tarefas Como criar um pacote de sequência de tarefas de implantação do sistema operacional