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

È possibile creare una sequenza di attività di distribuzione del sistema operativo, in Configuration Manager, creando un'istanza della classe SMS_TaskSequencePackage. Questa classe deriva dalla classe SMS_Package e contiene la sequenza di attività. Viene annunciato ai client che possono quindi eseguire la sequenza di attività. La sequenza di attività è associata al pacchetto della sequenza di attività usando il metodo SetSequence della SMS_TaskSequencePackage classe .

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

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 Modello a oggetti di sequenziazione attività.

Si annuncia un pacchetto della sequenza di attività nello stesso modo in cui si annuncia un pacchetto SMS_PackageConfiguration Manager . Per altre 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, vedere Informazioni sul provider SMS in Configuration Manager.

  2. Creare un'istanza di SMS_TaskSequencePackage.

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

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

Esempio

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

Per informazioni sulla chiamata del codice di esempio, vedere Chiamata di frammenti di codice 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
Connessione valida al provider SMS.
taskSequence -Gestito: IResultObject
- VBScript: SWbemObject
Sequenza di attività valida SMS_TaskSequence

Compilazione del codice

L'esempio C# richiede:

Namespaces

Sistema

System.collections.generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.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 Configuration Manager, vedere Configuration Manager'amministrazione basata sui ruoli.

Vedere anche

Panoramica degli oggettiCome connettersi a un provider SMS in Configuration Manager tramite codice gestito
Come connettersi a un provider SMS in Configuration Manager tramite WMI
Come creare una sequenza di attività
Panoramica sulla sequenza delle attività