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

Você cria uma sequência de tarefas de implantação do sistema operacional, em Configuration Manager, criando uma instância da classe SMS_TaskSequencePackage. Essa classe deriva da classe SMS_Package e mantém a sequência de tarefas. Ele é anunciado para clientes que podem executar a sequência de tarefas. A sequência de tarefas está associada ao pacote de sequência de tarefas usando o SMS_TaskSequencePackage método SetSequence de classe.

Você pode organizar pacotes de sequência de tarefas em categorias atribuindo uma categoria a elas com a propriedade categoriade classe SMS_TaskSequence.

Para obter mais informações sobre como criar sequências de tarefas, consulte Como criar uma sequência de tarefas. Para obter mais informações sobre pacotes de sequência de tarefas, consulte o Modelo de Objeto de Sequenciamento de Tarefas.

Você anuncia um pacote de sequência de tarefas da mesma forma que anuncia um pacote SMS_Packagede Configuration Manager . Para obter mais informações, consulte Como criar um anúncio.

Para criar um pacote de sequência de tarefas

  1. Configure uma conexão com o Provedor de SMS. Para obter mais informações, consulte Sobre o provedor de SMS no Configuration Manager.

  2. Criar uma instância de SMS_TaskSequencePackage.

  3. Preencha as propriedades do pacote de sequência de tarefas.

  4. Chame o SMS_TaskSequencePackage método de classe SetSequence para associar uma sequência de tarefas (SMS_TaskSequence) ao pacote de sequência de tarefas.

Exemplo

O método de exemplo a seguir cria um pacote de sequência de tarefas (SMS_TaskSequencePackage) e associa a sequência de tarefas (SMS_TaskSequence) a ele.

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

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 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.
taskSequence -Gerenciado: IResultObject
- VBScript: SWbemObject
Uma sequência de tarefas válida SMS_TaskSequence

Compilando o código

O exemplo 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
Como criar uma sequência de tarefas
Visão geral de sequências de tarefas