Compartilhar via


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

Você cria uma Configuration Manager sequência de tarefas de implantação do sistema operacional 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 do sistema operacional.

Em seguida, a sequência de tarefas é empacotada em um SMS_TaskSequencePackage e anunciada no computador cliente.

Para criar uma sequência de tarefas

  1. Configure uma conexão com o Provedor de SMS. Para obter mais informações, confira Os fundamentos do Provedor de 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 do sistema operacional.

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

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 de 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 de 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 de Configuration Manager.

Segurança do .NET Framework

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

Confira também

Visão geral de objetosComo se conectar a um provedor de SMS no Configuration Manager usando código gerenciado
Como se conectar a um provedor de 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