Como criar uma sequência de tarefas de implantação do sistema operacional
Você cria uma Configuration Manager sequência de tarefas de implantação do sistema operacional criando uma instância da classe SMS_TaskSequence.
Uma sequência de tarefas contém uma ou mais etapas que são executadas sequencialmente no computador cliente. Para obter mais informações, consulte Modelo de objeto de sequência de tarefas de implantação do sistema operacional.
Em seguida, a sequência de tarefas é empacotada em um SMS_TaskSequencePackage e anunciada no computador cliente.
Para criar uma 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
SMS_TaskSequence
de tarefas.Adicione ações e, conforme necessário, adicione grupos à ação. Para obter mais informações, consulte Como adicionar uma ação de sequência de tarefas de implantação do sistema operacional.
Associe a sequência de tarefas a um pacote de sequência de tarefas. Para obter mais informações, consulte Como criar um pacote de sequência de tarefas de implantação do sistema operacional.
Anuncie a sequência de tarefas para o computador cliente. Para obter mais informações, consulte Como criar um anúncio.
Exemplo
O método de exemplo a seguir cria uma sequência de tarefas que instala um programa de software. O exemplo também cria um pacote de sequência de tarefas chamando o exemplo definido em Como criar um pacote de sequência de tarefas de implantação do sistema operacional.
Para obter informações sobre como chamar o código de exemplo, consulte Chamando Configuration Manager Snippets de Código.
Sub CreateInstallSoftwareTaskSequence(connection,name, description, packageID, programName)
' Create the task sequence.
set taskSequence = connection.Get("SMS_TaskSequence").SpawnInstance_
' Create the action.
set action = connection.Get("SMS_TaskSequence_InstallSoftwareAction").SpawnInstance_
action.ProgramName=programName
action.PackageID=packageID
action.Name=name
action.Enabled=true
action.ContinueOnError=false
' Create an array to hold the action.
actionSteps= array(action)
' Add the array to the task sequence.
taskSequence.Steps=actionSteps
wscript.echo taskSequence.Steps(0).Name
call CreateTaskSequencePackage (connection, taskSequence)
End Sub
public void CreateInstallSoftwareTaskSequence(
WqlConnectionManager connection,
string name,
string packageId,
string programName)
{
try
{
// Create the task sequence.
IResultObject taskSequence = connection.CreateInstance("SMS_TaskSequence");
IResultObject ro = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_InstallSoftwareAction");
ro["ProgramName"].StringValue = programName;
ro["packageId"].StringValue = packageId;
ro["Name"].StringValue = name;
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);
// Create the task sequence package.
this.CreateTaskSequencePackage(connection, taskSequence);
}
catch (SmsException e)
{
Console.WriteLine("Failed to create Task Sequence: " + 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. |
name |
-Gerenciado: String -Vbscript: String |
O nome da etapa da sequência de tarefas. |
description |
-Vbscript: String |
A descrição da etapa da sequência de tarefas. |
packageID |
-Gerenciado: String -Vbscript: String |
O identificador de pacote que contém o software a ser instalado. Obtido de SMS_Package.PackageID . |
programName |
-Gerenciado: String -Vbscript: String |
O nome do programa a ser instalado. Obtido de SMS_Program.ProgramName . |
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 se conectar a um provedor de SMS no Configuration Manager usando código gerenciado
Como se conectar a um provedor de SMS no Configuration Manager usando o WMI
Visão geral da sequência de tarefas Como criar um pacote de sequência de tarefas de implantação do sistema operacional