Como remover uma etapa de um grupo de implantação do sistema operacional
Em Configuration Manager, você exclui uma etapa (uma ação ou um grupo) de um grupo de sequência de tarefas de implantação do sistema operacional excluindo a etapa da lista de etapas de sequência de tarefas do grupo.
Para remover uma etapa de um grupo
Configure uma conexão com o Provedor de SMS. Para obter mais informações, confira Os fundamentos do Provedor de SMS.
Obtenha o objeto SMS_TaskSequence_Group ao qual você deseja adicionar a etapa. Para obter mais informações, consulte Como criar um grupo de sequência de tarefas de implantação do sistema operacional.
Remova a ação da propriedade matriz SMS_TaskSequence_Group.Steps.
Exemplo
O método de exemplo a seguir remove uma ação de um grupo de sequência de tarefas.
Para obter informações sobre como chamar o código de exemplo, consulte Chamando Configuration Manager Snippets 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 |
– Gerenciado: IResultObject - VBScript: SWbemObject |
O grupo de sequência de tarefas que contém a ação a ser excluída. |
actionName |
-Gerenciado: String -Vbscript: String |
O nome da ação a ser excluída. Isso pode ser obtido 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 tratamento de erros, consulte Sobre erros de Configuration Manager.
Segurança do .NET Framework
Para obter mais informações sobre como proteger aplicativos Configuration Manager, consulte Configuration Manager administração baseada em função.
Confira também
Visão geral de objetoscomo adicionar uma etapa a um grupo de implantação do sistema operacional
Como se conectar a um provedor de SMS em Configuration Manager usando código gerenciado
Como se conectar a um provedor de SMS no Configuration Manager usando o WMI
Como mover uma etapa para um grupo de sequência de tarefas de implantação de sistema operacional diferente
Como criar um grupo de sequência de tarefas de implantação do sistema operacional
Visão geral de sequências de tarefas