Come aggiungere un'azione della sequenza di attività di distribuzione del sistema operativo

Un'azione della sequenza di attività di distribuzione del sistema operativo viene aggiunta a una sequenza di attività, in Configuration Manager, creando un'istanza di una classe derivata SMS_TaskSequence_Action e quindi aggiungendola ai passaggi della sequenza di attività.

Nota

Configuration Manager include numerose azioni predefinite che è possibile usare. Ad esempio, la classe di azione della riga di comando è SMS_TaskSequence_RunCommandLineAction. Queste classi derivano dalla classe SMS_TaskSequence_Action .

SMS_TaskSequenceAction deriva dalla classe SMS_TaskSequence_Step , che è la classe base sia per le azioni che per i gruppi. La sequenza di attività archivia i propri passaggi in una matrice di SMS_TaskSequence_Step, consentendo così di archiviare insieme azioni e gruppi.

Per aggiungere un'azione della sequenza di attività

  1. Configurare una connessione al provider SMS. Per ulteriori informazioni, consulta Nozioni fondamentali sul provider SMS.

  2. Creare un oggetto sequenza di attività (SMS_TaskSequence). Per altre informazioni, vedere Come creare una sequenza di attività di distribuzione del sistema operativo.

  3. Creare un'istanza SMS_TaskSequenceAction di una classe derivata, ad esempio SMS_TaskSequence_RunCommandLineAction, per l'azione desiderata.

  4. Popola l'azione nel modo appropriato.

  5. Aggiungere l'azione ai passaggi della sequenza di attività. Viene archiviata la proprietà Steps della classe SMS_TaskSequence).

Esempio

Il metodo di esempio seguente crea un'azione della riga di comando e la aggiunge alla sequenza di attività fornita.

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

Sub AddTaskSequenceActionCommandLine(connection, taskSequence, name, description)

    Dim steps
    Dim action

    Set action = connection.Get("SMS_TaskSequence_RunCommandLineAction").SpawnInstance_

    action.CommandLine = "cmd /c Echo Hello"
    action.Name=name
    action.Description=description
    action.Enabled=True
    action.ContinueOnError=False

      If IsNull(taskSequence.Steps) Then
        steps = Array(action)
        taskSequence.Steps=steps
    Else
        steps= Array(taskSequence.Steps)
        ReDim steps (UBound (taskSequence.Steps)+1)
        taskSequence.Steps(UBound(steps))=action
    End if

End Sub

public IResultObject AddTaskSequenceActionCommandLine(
    WqlConnectionManager connection,
    IResultObject taskSequence,
    string name,
    string description)
{
    try
    {
        // Create the new step.
        IResultObject ro;

        ro = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_RunCommandLineAction");
        ro["CommandLine"].StringValue = @"cmd /c Echo Hello";

        ro["Name"].StringValue = name;
        ro["Description"].StringValue = description;
        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);

        return ro;
    }
    catch (SmsException e)
    {
        Console.WriteLine("Failed to add action: " + e.Message);
        throw;
    }
}

Il 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.
Name - Gestito: String
- VBScript: String
Un nome per la nuova azione.
Description - Gestito: String
- VBScript: String
Descrizione dell'azione.

Compilazione del codice

Questo 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 aggiungere una condizione a un passaggio della sequenza di attività di distribuzione del sistema operativoCome connettersi a un provider SMS in Configuration Manager tramite codice gestitoCome connettersi a un provider SMS in Configuration Manager tramite WMICome creare un gruppodi sequenze di attività di distribuzione del sistema operativoCome eliminare un sistema operativo Sequenza di attività AzionePanoramica della sequenza di attività