Cómo crear una secuencia de tareas de implementación del sistema operativo

Cree una secuencia de tareas de implementación del sistema operativo Configuration Manager mediante la creación de una instancia de la clase SMS_TaskSequence.

Una secuencia de tareas contiene uno o varios pasos que se ejecutan secuencialmente en el equipo cliente. Para obtener más información, vea Modelo de objetos de secuencia de tareas de implementación del sistema operativo.

A continuación, la secuencia de tareas se empaqueta en un SMS_TaskSequencePackage y se anuncia en el equipo cliente.

Para crear una secuencia de tareas

  1. Configure una conexión con el proveedor de SMS. Para obtener más información, consulte Aspectos básicos del proveedor de SMS.

  2. Cree un objeto de secuencia SMS_TaskSequence de tareas.

  3. Agregue acciones y, según sea necesario, agregue grupos a la acción. Para obtener más información, vea Cómo agregar una acción de secuencia de tareas de implementación del sistema operativo.

  4. Asocie la secuencia de tareas a un paquete de secuencia de tareas. Para obtener más información, vea How to Create an Operating System Deployment Task Sequence Package( Cómo crear un paquete de secuencia de tareas de implementación del sistema operativo).

  5. Anuncie la secuencia de tareas en el equipo cliente. Para obtener más información, vea Cómo crear un anuncio.

Ejemplo

El siguiente método de ejemplo crea una secuencia de tareas que instala un programa de software. En el ejemplo también se crea un paquete de secuencia de tareas llamando al ejemplo definido en How to Create an Operating System Deployment Task Sequence Package (Cómo crear un paquete de secuencia de tareas de implementación del sistema operativo).

Para obtener información sobre cómo llamar al código de ejemplo, vea Llamar a fragmentos de código de 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;  
    }  
}  

El método de ejemplo tiene los parámetros siguientes:

Parámetro Tipo Descripción
Connection -Administrado: WqlConnectionManager
- VBScript: SWbemServices
Una conexión válida al proveedor de SMS.
name -Administrado: String
-Vbscript: String
Nombre del paso de secuencia de tareas.
description -Vbscript: String Descripción del paso de secuencia de tareas.
packageID -Administrado: String
-Vbscript: String
Identificador del paquete que contiene el software que se va a instalar. Obtenido de SMS_Package.PackageID.
programName -Administrado: String
-Vbscript: String
Nombre del programa que se va a instalar. Obtenido de SMS_Program.ProgramName.

Compilar el código

Este ejemplo de C# requiere:

Espacios de nombres

System

System.Collections.Generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Ensamblado

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Programación sólida

Para obtener más información sobre el control de errores, consulte Acerca de los errores de Configuration Manager.

Seguridad de .NET Framework

Para obtener más información sobre la protección de aplicaciones Configuration Manager, consulte Configuration Manager administración basada en roles.

Consulta también

Información general sobrelos objetos Cómo conectarse a un proveedor de SMS en Configuration Manager mediante código administrado
Conexión a un proveedor de SMS en Configuration Manager mediante WMI
Introducción a la secuencia de tareas Cómo crear un paquete de secuencia de tareas de implementación de sistema operativo