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

Cree una secuencia de tareas de implementación del sistema operativo, en Configuration Manager, mediante la creación de una instancia de la clase SMS_TaskSequencePackage. Esta clase deriva de la clase SMS_Package y contiene la secuencia de tareas. Se anuncia a los clientes que pueden ejecutar la secuencia de tareas. La secuencia de tareas está asociada al paquete de secuencia de tareas mediante el método SetSequence de claseSMS_TaskSequencePackage.

Puede organizar los paquetes de secuencia de tareas en categorías mediante la asignación de una categoría a ellos con la propiedad category de clase SMS_TaskSequence.

Para obtener más información sobre cómo crear secuencias de tareas, vea How to Create a Task Sequence. Para obtener más información sobre los paquetes de secuencia de tareas, vea El modelo de objetos de secuencia de tareas.

Anuncia un paquete de secuencia de tareas de la misma manera que anuncia un paquete SMS_Packagede Configuration Manager . Para obtener más información, vea Cómo crear un anuncio.

Para crear un paquete de secuencia de tareas

  1. Configure una conexión con el proveedor de SMS. Para obtener más información, vea Acerca del proveedor de SMS en Configuration Manager.

  2. Cree una instancia de SMS_TaskSequencePackage.

  3. Rellene las propiedades del paquete de secuencia de tareas.

  4. Llame al método de SMS_TaskSequencePackage clase SetSequence para asociar una secuencia de tareas (SMS_TaskSequence) con el paquete de secuencia de tareas.

Ejemplo

El siguiente método de ejemplo crea un paquete de secuencia de tareas (SMS_TaskSequencePackage) y asocia la secuencia de tareas (SMS_TaskSequence) con él.

Para obtener información sobre cómo llamar al código de ejemplo, vea Llamar a fragmentos de código de 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 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.
taskSequence -Administrado: IResultObject
- VBScript: SWbemObject
Una secuencia de tareas válida SMS_TaskSequence

Compilar el código

El 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
Cómo crear una secuencia de tareas
Introducción a la secuencia de tareas