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 se asocia con el paquete de secuencia de tareas mediante el método SetSequence de claseSMS_TaskSequencePackage.

Puede organizar los paquetes de secuencia de tareas en categorías asignándoles una categoría con la propiedad Categoría de clase SMS_TaskSequence.

Para obtener más información sobre cómo crear secuencias de tareas, vea Cómo crear una secuencia de tareas. Para obtener más información sobre los paquetes de secuencias de tareas, vea el Modelo de objetos de secuenciación 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, consulte Cómo crear un anuncio.

Para crear un paquete de secuencia de tareas

  1. Configure una conexión al proveedor de SMS. Para obtener más información, consulte 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 class SMS_TaskSequencePackageSetSequence para asociar una secuencia de tareas (SMS_TaskSequence) con el paquete de secuencia de tareas.

Ejemplo

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

Para obtener información sobre cómo llamar al código de ejemplo, consulte 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 siguientes parámetros:

Parámetro Tipo Descripción
connection - Administrado: WqlConnectionManager
- VBScript: SWbemServices
Una conexión válida con el 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 acerca del control de errores, consulte Acerca de los errores de Configuration Manager.

Seguridad de .NET Framework

Para obtener más información acerca de cómo proteger las aplicaciones de Configuration Manager, consulte Administración basada en roles de Configuration Manager.

Consulta también

Introducción a los objetosCómo conectarse a un proveedor de SMS en Configuration Manager mediante código administradoCómo conectarse a un proveedor de SMS en Configuration Manager mediante WMICómo crear una secuencia de tareasIntroducción a la secuencia de tareas