Compartilhar via


Como Remover um Passo de um Grupo de Implementação do Sistema Operativo

No Configuration Manager, elimina um passo (uma ação ou um grupo) de um grupo de sequência de tarefas de implementação do sistema operativo ao eliminar o passo da lista de passos de sequência de tarefas do grupo.

Para remover um passo de um grupo

  1. Configure uma ligação ao Fornecedor de SMS. Para obter mais informações, veja Noções básicas do Fornecedor de SMS.

  2. Obtenha o objeto SMS_TaskSequence_Group ao qual pretende adicionar o passo. Para obter mais informações, veja Como Criar um Grupo de Sequência de Tarefas de Implementação do Sistema Operativo.

  3. Remova a ação da propriedade de matriz SMS_TaskSequence_Group.Steps.

Exemplo

O método de exemplo seguinte remove uma ação de um grupo de sequência de tarefas.

Para obter informações sobre como chamar o código de exemplo, veja Chamar Configuration Manager Fragmentos de Código.

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;
    }
}

O método de exemplo tem os seguintes parâmetros:

Parâmetro Tipo Descrição
taskSequenceGroup - Gerido: IResultObject
- VBScript: SWbemObject
O grupo de sequência de tarefas que contém a ação a eliminar.
actionName - Gerido: String
- VBScript: String
O nome da ação a eliminar. Isto pode ser obtido a partir da propriedade SMS_TaskSequenceAction.Name .

Compilando o código

Este exemplo de C# requer:

Namespaces

System

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Programação robusta

Para obter mais informações sobre o processamento de erros, veja About Configuration Manager Errors (Acerca dos Erros de Configuration Manager).

Segurança do .NET Framework

Para obter mais informações sobre como proteger aplicações Configuration Manager, veja Configuration Manager administração baseada em funções.

Confira também

Descrição geral de ObjetosComo Adicionar um Passo a um Grupo de Implementação do Sistema OperativoComo Ligar a um Fornecedor de SMS no Configuration Manager Através do Código GeridoComo Ligar a um Fornecedor de SMS no Configuration Manager Ao Utilizar a WMIComo Mover um Passo para um Grupode Sequência de Tarefas de Implementação de Sistema Operativo DiferenteHow to Create an Operating System Deployment Task Sequence Group Task sequence overview (Como Criar uma Descrição geral da sequência de tarefas do Grupo de Tarefas da Sequência de Tarefas de Implementação do Sistema Operativo)