Come creare un pacchetto della sequenza di attività di distribuzione del sistema operativo

Una sequenza di attività di distribuzione del sistema operativo viene creata, in Configuration Manager, creando un'istanza della classe SMS_TaskSequencePackage. Questa classe deriva dalla classe SMS_Package e contiene la sequenza di attività. Viene annunciata ai clienti che possono quindi eseguire la sequenza di attività. La sequenza di attività è associata al pacchetto della sequenza di attività usando il SMS_TaskSequencePackage metodo SetSequence della classe.

È possibile organizzare i pacchetti della sequenza di attività in categorie assegnando loro una categoria con la SMS_TaskSequence proprietà Category .

Per altre informazioni sulla creazione di sequenze di attività, vedere Come creare una sequenza di attività. Per altre informazioni sui pacchetti della sequenza di attività, vedere il modello a oggetti Sequenza di attività.

Si annuncia un pacchetto della sequenza di attività nello stesso modo in cui si annuncia un pacchetto SMS_Packagedi Configuration Manager. Per ulteriori informazioni, vedere Come creare un annuncio pubblicitario.

Per creare un pacchetto della sequenza di attività

  1. Configurare una connessione al provider SMS. Per altre informazioni, vedi Informazioni sul provider SMS in Configuration Manager.

  2. Create un'istanza di SMS_TaskSequencePackage.

  3. Popolare le proprietà del pacchetto della sequenza di attività.

  4. Chiama il SMS_TaskSequencePackage metodo class SetSequence per associare una sequenza di attività (SMS_TaskSequence) al pacchetto della sequenza di attività.

Esempio

Il metodo di esempio seguente crea un pacchetto di sequenze di attività (SMS_TaskSequencePackage) e vi associa la sequenza di attività (SMS_TaskSequence).

Per informazioni sulla chiamata del codice di esempio, vedere Chiamata di frammenti di codice di 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;
    }
}

Questo metodo di esempio include i parametri seguenti:

Parametro Tipo Descrizione
connection - Gestito: WqlConnectionManager
- VBScript: SWbemServices
Una connessione valida al provider SMS.
taskSequence - Gestito: IResultObject
- VBScript: SWbemObject
Una sequenza di attività valida SMS_TaskSequence

Compilazione del codice

L'esempio di C# richiede:

Spazi dei nomi

Sistema

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagementManagementProvider

Microsoft.ConfigurationManagementManagementProvider.WqlQueryEngine

Assembly

Microsoft.ConfigurationManagement.ManagementProvider

adminui.wqlqueryengine

Programmazione efficiente

Per altre informazioni sulla gestione degli errori, vedere Informazioni sugli errori di Configuration Manager.

Sicurezza di .NET Framework

Per altre informazioni sulla protezione delle applicazioni di Configuration Manager, vedere Amministrazione basata sui ruoli di Configuration Manager.

Vedere anche

Panoramica degli oggettiCome connettersi a un provider SMS in Configuration Manager tramite codice gestitoCome connettersi a un provider SMS in Configuration Manager tramite WMICome creare una sequenza di attivitàPanoramica della sequenza di attività