Condividi tramite


Come creare una sequenza di attività di distribuzione del sistema operativo

È possibile creare una sequenza di attività di distribuzione del sistema operativo Configuration Manager creando un'istanza della classe SMS_TaskSequence.

Una sequenza di attività contiene uno o più passaggi eseguiti in sequenza nel computer client. Per altre informazioni, vedere Modello a oggetti della sequenza di attività di distribuzione del sistema operativo.

La sequenza di attività viene quindi compressa in un SMS_TaskSequencePackage e annunciata al computer client.

Per creare una sequenza di attività

  1. Configurare una connessione al provider SMS. Per altre informazioni, vedere Nozioni fondamentali sul provider SMS.

  2. Creare un oggetto sequenza SMS_TaskSequence di attività.

  3. Aggiungere azioni e, se necessario, aggiungere gruppi all'azione. Per altre informazioni, vedere Come aggiungere un'azione della sequenza di attività di distribuzione del sistema operativo.

  4. Associare la sequenza di attività a un pacchetto della sequenza di attività. Per altre informazioni, vedere Come creare un pacchetto della sequenza di attività di distribuzione del sistema operativo.

  5. Annunciare la sequenza di attività al computer client. Per altre informazioni, vedere Come creare un annuncio pubblicitario.

Esempio

Il metodo di esempio seguente crea una sequenza di attività che installa un programma software. L'esempio crea anche un pacchetto della sequenza di attività chiamando l'esempio definito in Come creare un pacchetto della sequenza di attività di distribuzione del sistema operativo.

Per informazioni sulla chiamata del codice di esempio, vedere Chiamata di frammenti di codice Configuration Manager.

Sub CreateInstallSoftwareTaskSequence(connection,name, description, packageID, programName)  

    ' Create the task sequence.  
    set taskSequence = connection.Get("SMS_TaskSequence").SpawnInstance_  

    ' Create the action.  
    set action = connection.Get("SMS_TaskSequence_InstallSoftwareAction").SpawnInstance_  

    action.ProgramName=programName  
    action.PackageID=packageID  
    action.Name=name  
    action.Enabled=true  
    action.ContinueOnError=false  

    ' Create an array to hold the action.  
    actionSteps= array(action)  
    ' Add the array to the task sequence.  
    taskSequence.Steps=actionSteps  

    wscript.echo taskSequence.Steps(0).Name  
    call CreateTaskSequencePackage (connection, taskSequence)  

 End Sub  
public void CreateInstallSoftwareTaskSequence(  
    WqlConnectionManager connection,   
    string name,   
    string packageId,   
    string programName)  
{  
    try  
    {  
        // Create the task sequence.  
        IResultObject taskSequence = connection.CreateInstance("SMS_TaskSequence");  

        IResultObject ro = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_InstallSoftwareAction");  
        ro["ProgramName"].StringValue = programName;  
        ro["packageId"].StringValue = packageId;  
        ro["Name"].StringValue = name;  
        ro["Enabled"].BooleanValue = true;  
        ro["ContinueOnError"].BooleanValue = false;  

        // Add the step to the task sequence.  
        List<IResultObject> array = taskSequence.GetArrayItems("Steps");  

        array.Add(ro);  

        taskSequence.SetArrayItems("Steps", array);  

        // Create the task sequence package.  
        this.CreateTaskSequencePackage(connection, taskSequence);  
    }  
    catch (SmsException e)  
    {  
        Console.WriteLine("Failed to create Task Sequence: " + e.Message);  
        throw;  
    }  
}  

Il metodo di esempio include i parametri seguenti:

Parametro Tipo Descrizione
Connection -Gestito: WqlConnectionManager
- VBScript: SWbemServices
Connessione valida al provider SMS.
name -Gestito: String
-Vbscript: String
Nome del passaggio della sequenza di attività.
description -Vbscript: String Descrizione del passaggio della sequenza di attività.
packageID -Gestito: String
-Vbscript: String
Identificatore del pacchetto contenente il software da installare. Ottenuto da SMS_Package.PackageID.
programName -Gestito: String
-Vbscript: String
Nome del programma da installare. Ottenuto da SMS_Program.ProgramName.

Compilazione del codice

Questo 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
Panoramica della sequenza di attivitàCome creare un pacchetto della sequenza di attività di distribuzione del sistema operativo