Compartir a través de


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

En Configuration Manager, se elimina un paso (una acción o un grupo) de un grupo de secuencia de tareas de implementación del sistema operativo mediante la eliminación del paso de la lista de pasos de secuencia de tareas del grupo.

Para quitar un paso de un grupo

  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_TaskSequence_Group 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. Quite la acción de la propiedad de matriz SMS_TaskSequence_Group.Steps.

Ejemplo

El siguiente método de ejemplo quita una acción de 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 RemoveActionFromGroup(taskSequenceGroup, actionName)  

    Dim i  

    If taskSequenceGroup.SystemProperties_("__CLASS")<>"SMS_TaskSequence_Group" Then  
        wscript.echo "Not a group"  
        return  
    End If  

        Dim newArray  
        Dim actionStep  

        newArray = Array(taskSequenceGroup.Steps)  
        ReDim newArray(UBound(taskSequenceGroup.Steps))  

        i=0  
        for each  actionStep in taskSequenceGroup.Steps  
            If actionStep.Name = actionName and _  
              actionStep.SystemProperties_("__SUPERCLASS") = "SMS_TaskSequence_Action" Then  
                 ReDim preserve newArray(UBound(newArray)-1) ' shrink the Array  
            else  
               wscript.echo actionStep.Name  
               Set newArray(i)=actionStep ' copy it  
               i=i+1  
            End If     

         Next  

         taskSequenceGroup.Steps=newArray  

 End Sub  
public void RemoveActionFromGroup(  
    IResultObject taskSequenceGroup,   
    string actionName)  
{  
    try  
    {  
        if (taskSequenceGroup["__CLASS"].StringValue != "SMS_TaskSequence_Group")  
        {  
            throw new System.InvalidOperationException("Not a group");  
        }  

        List<IResultObject> groupSteps = taskSequenceGroup.GetArrayItems("Steps");  
        IResultObject actionFound = null;  
        foreach (IResultObject actionStep in groupSteps)  
        {  
            if (actionStep["Name"].StringValue == actionName && actionStep["__SUPERCLASS"].StringValue == "SMS_TaskSequence_Action")  
            {  
                actionFound = actionStep;  
                break;  
            }  
        }  

        groupSteps.Remove(actionFound);  
        taskSequenceGroup.SetArrayItems("Steps", groupSteps);  
    }  
    catch (SmsException e)  
    {  
        Console.WriteLine("Failed to remove action: " + e.Message);  
        throw;  
    }  
}  

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

Parámetro Tipo Descripción
taskSequenceGroup - Administrado: IResultObject
- VBScript: SWbemObject
Grupo de secuencia de tareas que contiene la acción que se va a eliminar.
actionName -Administrado: String
-Vbscript: String
Nombre de la acción que se va a eliminar. Esto se puede obtener de la propiedad SMS_TaskSequenceAction.Name .

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

Introducción a los objetosCómo agregar un paso a un grupo de implementación del sistema operativo
Conexión 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
Introducción a la secuencia de tareas