Come aggiungere un passaggio a un gruppo di distribuzione del sistema operativo

Aggiungere un passaggio (un'azione o un gruppo) a un gruppo di sequenze di attività di distribuzione del sistema operativo, in Configuration Manager, aggiungendo il passaggio alla proprietà della SMS_TaskSequenceGroup.Steps matrice.

Per aggiungere un passaggio a un gruppo di sequenze di attività

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

  2. Ottenere l'oggetto SMS_TaskSequenceGroup a cui si vuole aggiungere il passaggio. Per altre informazioni, vedere Come creare un gruppo di sequenze di attività di distribuzione del sistema operativo.

  3. Creare il passaggio della sequenza di attività. Per un esempio di creazione di un passaggio di azione, vedere Come aggiungere un'azione della sequenza di attività di distribuzione del sistema operativo.

  4. Aggiungere il passaggio alla proprietà della SMS_TaskSequenceGroup.Steps matrice.

  5. Riordinare il passaggio all'interno della proprietà della matrice in base alle esigenze. Per altre informazioni, vedere Come riordino una sequenza di attività di distribuzione del sistema operativo

Esempio

Il metodo di esempio seguente aggiunge un'azione della riga di comando a un gruppo di sequenze di attività.

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

Sub AddStepToGroup(taskSequenceStep, group)     

    Dim steps   

    ' If needed, create a new steps array.  
    If IsNull(group.Steps) Then  
        steps = Array(taskSequenceStep)  
        group.Steps=steps  
    Else  
        ' Resize the existing steps and add step.  
        steps= Array(group.Steps)  
        ReDim steps (UBound (group.Steps)+1)   
        group.Steps(UBound(steps))=taskSequenceStep   
    End if   

End Sub  
public void AddStepToGroup(  
    WqlConnectionManager connection,   
    IResultObject taskSequence,   
    string groupName)  
{  
    try  
    {  
        // Get the group.  
        List<IResultObject> steps = taskSequence.GetArrayItems("Steps"); // Array of SMS_TaskSequence_Steps.  

        foreach (IResultObject ro in steps)  
        {  
            if (ro["Name"].StringValue == groupName && ro["__CLASS"].StringValue == "SMS_TaskSequence_Group")  
            {  
                IResultObject action = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_RunCommandLineAction");  
                action["CommandLine"].StringValue = @"C:\donowtingroup.bat";  
                action["Name"].StringValue = "Action in group " + groupName;  
                action["Description"].StringValue = "Action in a group";  
                action["Enabled"].BooleanValue = true;  
                action["ContinueOnError"].BooleanValue = false;  

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

                array.Add(action);  

                ro.SetArrayItems("Steps", array);  
                taskSequence.SetArrayItems("Steps", steps);  
                break;  
            }  
        }  
    }  
    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.
taskSequence

taskSequenceStep
-Gestito: IResultObject
- VBScript: SWbemObject
- Sequenza di attività valida (SMS_TaskSequence) che contiene il gruppo.
groupName

group
-Gestito: String
-Vbscript: String
Nome del gruppo a cui viene aggiunta l'azione della riga di comando. Questa operazione viene ottenuta dalla SMS_TaskSequenceGroup.Name proprietà .

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
Come spostare un passaggio in un gruppo di sequenze di attività di distribuzione del sistema operativo diverso
Come creare un gruppo di attività di distribuzione del sistema operativo
Come rimuovere un passaggio da un gruppo di distribuzione del sistema operativo
Panoramica sulla sequenza delle attività