Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Você exclui uma ação de sequência de tarefas de implantação de sistema operacional, no Configuration Manager, removendo a ação das etapas de sequência de tarefas.
Para excluir uma ação de sequência de tarefas
Configure uma conexão com o provedor de SMS. Para obter mais informações, consulte Conceitos básicos do Provedor SMS.
Obtenha um objeto de sequência de tarefas (SMS_TaskSequence). Para obter mais informações, consulte Como criar uma sequência de tarefas de implantação do sistema operacional.
Remova a
SMS_TaskSequence.Stepsação da propriedade de matriz.
Exemplo
O método de exemplo a seguir exclui uma ação da sequência de tarefas. A ação é identificada como uma ação verificando a __SUPERCLASS de propriedades do WMI (Instrumentação de Gerenciamento do Windows) para garantir que ela derive de SMS_TaskSequenceAction.
Para obter informações sobre como chamar o código de exemplo, consulte Chamando trechos de código do Configuration Manager.
Sub RemoveAction (connection, taskSequence, actionName)
Dim i
Dim newArray
Dim actionStep
If taskSequence.SystemProperties_("__CLASS")<>"SMS_TaskSequence" Then
wscript.echo "Not a task sequence"
Exit Sub
End If
if IsNull(taskSequence.Steps) Then
Wscript.Echo "No steps"
Exit Sub
End If
' Create an array to hold copied steps.
newArray = Array(taskSequence.Steps)
ReDim newArray(UBound(taskSequence.Steps))
' Copy the steps into the array and remove the matching action.
i=0
for each actionStep in taskSequence.Steps
If actionStep.Name = actionName and _
actionStep.SystemProperties_("__SUPERCLASS") = "SMS_TaskSequence_Action" Then
ReDim preserve newArray(UBound(newArray)-1) ' shrink the Array
else
Set newArray(i)=actionStep ' copy it
i=i+1
End If
Next
' Assign new array back to the task sequence.
taskSequence.Steps=newArray
End Sub
public void RemoveAction(
IResultObject taskSequence,
string actionName)
{
try
{
// Get a list of steps.
List<IResultObject> actionSteps = taskSequence.GetArrayItems("Steps");
// Find the action to be deleted.
foreach (IResultObject actionStep in actionSteps)
{
if (actionStep["Name"].StringValue == actionName && actionStep["__SUPERCLASS"].StringValue == "SMS_TaskSequence_Action")
{
// Delete the action.
actionSteps.Remove(actionStep);
break;
}
}
// Update the task sequence.
taskSequence.SetArrayItems("Steps", actionSteps);
}
catch (Exception 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 |
|---|---|---|
Connection |
- Gerenciado:WqlConnectionManager- VBScript: SWbemServices |
Uma conexão válida com o provedor de SMS. |
taskSequence |
- Gerenciado: IResultObject- VBScript: SWbemObject |
A 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 na SMS_TaskSequenceAction.Name propriedade. |
Compilando o código
Este exemplo do C# exige:
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 do Configuration Manager.
Segurança do .NET Framework
Para obter mais informações sobre como proteger aplicativos do Configuration Manager, consulte Administração baseada em funções do Configuration Manager.
Confira também
Visão geral dos objetosComo adicionar uma implantação de sistema operacional Ação de Sequência de TarefasComo se conectar a um provedor de SMS no Configuration Manager usando código gerenciadoComo se conectar a um provedor de SMS no Configuration Manager usando o WMIVisão geral da sequência de tarefas