Come rimuovere un passaggio da un gruppo di distribuzione del sistema operativo

In Configuration Manager eliminare un passaggio (un'azione o un gruppo) da un gruppo di sequenze di attività di distribuzione del sistema operativo eliminando il passaggio dall'elenco dei passaggi della sequenza di attività del gruppo.

Per rimuovere un passaggio da un gruppo

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

  2. Ottenere l'oggetto SMS_TaskSequence_Group 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. Rimuovere l'azione dalla proprietà della matrice SMS_TaskSequence_Group.Steps.

Esempio

Il metodo di esempio seguente rimuove un'azione da un gruppo di sequenze di attività.

Per informazioni sulla chiamata del codice di esempio, vedere Chiamata di frammenti di codice 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;  
    }  
}  

Il metodo di esempio include i parametri seguenti:

Parametro Tipo Descrizione
taskSequenceGroup - Gestito: IResultObject
- VBScript: SWbemObject
Gruppo della sequenza di attività contenente l'azione da eliminare.
actionName -Gestito: String
-Vbscript: String
Nome dell'azione da eliminare. Questa operazione può essere ottenuta dalla proprietà SMS_TaskSequenceAction.Name .

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 aggiungere un passaggio a un gruppo di distribuzione del sistema operativo
Come 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
Panoramica sulla sequenza delle attività