Como adicionar uma ação de sequência de tarefas de implantação do sistema operacional
Uma ação de sequência de tarefas de implantação do sistema operacional é adicionada a uma sequência de tarefas, em Configuration Manager, criando uma instância de uma classe derivada SMS_TaskSequence_Action e adicionando-a às etapas da sequência de tarefas.
Observação
Configuration Manager tem uma série de ações internas que você pode usar. Por exemplo, a classe de ação de linha de comando é SMS_TaskSequence_RunCommandLineAction. Essas classes derivam da classe SMS_TaskSequence_Action .
SMS_TaskSequenceAction deriva da classe SMS_TaskSequence_Step , que é a classe base para ações e grupos. A sequência de tarefas armazena suas etapas em uma matriz de SMS_TaskSequence_Step, permitindo que ações e grupos sejam armazenados juntos.
Para adicionar uma ação de sequência de tarefas
Configure uma conexão com o Provedor de SMS. Para obter mais informações, confira Os fundamentos do provedor de SMS.
Crie 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.
Crie uma instância de classe derivada SMS_TaskSequenceAction, por exemplo, SMS_TaskSequence_RunCommandLineAction, para a ação desejada.
Preencha a ação conforme apropriado.
Adicione a ação às etapas de sequências de tarefas. Isso é armazenado na propriedade steps da classe SMS_TaskSequence).
Exemplo
O método de exemplo a seguir cria uma ação de linha de comando e adiciona-a à sequência de tarefas fornecida.
Para obter informações sobre como chamar o código de exemplo, consulte Chamando Configuration Manager Snippets de Código.
Sub AddTaskSequenceActionCommandLine(connection, taskSequence, name, description)
Dim steps
Dim action
Set action = connection.Get("SMS_TaskSequence_RunCommandLineAction").SpawnInstance_
action.CommandLine = "cmd /c Echo Hello"
action.Name=name
action.Description=description
action.Enabled=True
action.ContinueOnError=False
If IsNull(taskSequence.Steps) Then
steps = Array(action)
taskSequence.Steps=steps
Else
steps= Array(taskSequence.Steps)
ReDim steps (UBound (taskSequence.Steps)+1)
taskSequence.Steps(UBound(steps))=action
End if
End Sub
public IResultObject AddTaskSequenceActionCommandLine(
WqlConnectionManager connection,
IResultObject taskSequence,
string name,
string description)
{
try
{
// Create the new step.
IResultObject ro;
ro = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_RunCommandLineAction");
ro["CommandLine"].StringValue = @"cmd /c Echo Hello";
ro["Name"].StringValue = name;
ro["Description"].StringValue = description;
ro["Enabled"].BooleanValue = true;
ro["ContinueOnError"].BooleanValue = false;
// Add the step to the task sequence.
List<IResultObject> array = taskSequence.GetArrayItems("Steps");
array.Add(ro);
taskSequence.SetArrayItems("Steps", array);
return ro;
}
catch (SmsException e)
{
Console.WriteLine("Failed to add 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 |
Uma sequência de tarefas válida. |
Name |
-Gerenciado: String -Vbscript: String |
Um nome para a nova ação. |
Description |
-Gerenciado: String -Vbscript: String |
Uma descrição da ação. |
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 condição a uma etapa de sequência de tarefas 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 criar um grupo de sequência de tarefas de implantação do sistema operacional
Como excluir uma ação de sequência de tarefas de implantação do sistema operacional
Visão geral de sequências de tarefas