Compartir a través de


Cómo agregar un paso a un grupo de implementación del sistema operativo

Agregue un paso (una acción o un grupo) a un grupo de secuencia de tareas de implementación del sistema operativo, en Configuration Manager, agregando el paso a la SMS_TaskSequenceGroup.Steps propiedad de matriz.

Para agregar un paso a un grupo de secuencia de tareas

  1. Configure una conexión con el proveedor de SMS. Para obtener más información, consulte Aspectos básicos del proveedor de SMS.

  2. Obtenga el objeto SMS_TaskSequenceGroup al que desea agregar el paso. Para obtener más información, vea Cómo crear un grupo de secuencia de tareas de implementación del sistema operativo.

  3. Cree el paso de secuencia de tareas. Para obtener un ejemplo de cómo crear un paso de acción, vea Cómo agregar una acción de secuencia de tareas de implementación del sistema operativo.

  4. Agregue el paso a la propiedad de SMS_TaskSequenceGroup.Steps matriz.

  5. Reordene el paso dentro de la propiedad de matriz según sea necesario. Para obtener más información, vea Cómo volver a ordenar una secuencia de tareas de implementación del sistema operativo.

Ejemplo

El siguiente método de ejemplo agrega una acción de línea de comandos a un grupo de secuencia de tareas.

Para obtener información sobre cómo llamar al código de ejemplo, vea Llamar a fragmentos de código de 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;  
    }  
}  

El método de ejemplo tiene los parámetros siguientes:

Parámetro Tipo Descripción
connection -Administrado: WqlConnectionManager
- VBScript: SWbemServices
Una conexión válida al proveedor de SMS.
taskSequence

taskSequenceStep
-Administrado: IResultObject
- VBScript: SWbemObject
- Secuencia de tareas válida (SMS_TaskSequence) que contiene el grupo.
groupName

group
-Administrado: String
-Vbscript: String
Nombre del grupo al que se agrega la acción de línea de comandos. Esto se obtiene de la SMS_TaskSequenceGroup.Name propiedad .

Compilar el código

Este ejemplo de C# requiere:

Espacios de nombres

System

System.Collections.Generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Ensamblado

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Programación sólida

Para obtener más información sobre el control de errores, consulte Acerca de los errores de Configuration Manager.

Seguridad de .NET Framework

Para obtener más información sobre la protección de aplicaciones Configuration Manager, consulte Configuration Manager administración basada en roles.

Consulta también

Información general sobrelos objetos Cómo conectarse a un proveedor de SMS en Configuration Manager mediante código administrado
Conexión a un proveedor de SMS en Configuration Manager mediante WMI
Cómo mover un paso a un grupo de secuencia de tareas de implementación de sistema operativo diferente
Cómo crear un grupo de secuencias de tareas de implementación del sistema operativo
Cómo quitar un paso de un grupo de implementación de sistema operativo
Introducción a la secuencia de tareas