Cómo crear una secuencia de tareas de implementación del sistema operativo
Cree una secuencia de tareas de implementación del sistema operativo Configuration Manager mediante la creación de una instancia de la clase SMS_TaskSequence.
Una secuencia de tareas contiene uno o varios pasos que se ejecutan secuencialmente en el equipo cliente. Para obtener más información, vea Modelo de objetos de secuencia de tareas de implementación del sistema operativo.
A continuación, la secuencia de tareas se empaqueta en un SMS_TaskSequencePackage y se anuncia en el equipo cliente.
Para crear una secuencia de tareas
Configure una conexión con el proveedor de SMS. Para obtener más información, consulte Aspectos básicos del proveedor de SMS.
Cree un objeto de secuencia
SMS_TaskSequence
de tareas.Agregue acciones y, según sea necesario, agregue grupos a la acción. Para obtener más información, vea Cómo agregar una acción de secuencia de tareas de implementación del sistema operativo.
Asocie la secuencia de tareas a un paquete de secuencia de tareas. Para obtener más información, vea How to Create an Operating System Deployment Task Sequence Package( Cómo crear un paquete de secuencia de tareas de implementación del sistema operativo).
Anuncie la secuencia de tareas en el equipo cliente. Para obtener más información, vea Cómo crear un anuncio.
Ejemplo
El siguiente método de ejemplo crea una secuencia de tareas que instala un programa de software. En el ejemplo también se crea un paquete de secuencia de tareas llamando al ejemplo definido en How to Create an Operating System Deployment Task Sequence Package (Cómo crear un paquete de secuencia de tareas de implementación del sistema operativo).
Para obtener información sobre cómo llamar al código de ejemplo, vea Llamar a fragmentos de código de Configuration Manager.
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;
}
}
El método de ejemplo tiene los parámetros siguientes:
Parámetro | Tipo | Descripción |
---|---|---|
Connection |
-Administrado: WqlConnectionManager - VBScript: SWbemServices |
Una conexión válida al proveedor de SMS. |
name |
-Administrado: String -Vbscript: String |
Nombre del paso de secuencia de tareas. |
description |
-Vbscript: String |
Descripción del paso de secuencia de tareas. |
packageID |
-Administrado: String -Vbscript: String |
Identificador del paquete que contiene el software que se va a instalar. Obtenido de SMS_Package.PackageID . |
programName |
-Administrado: String -Vbscript: String |
Nombre del programa que se va a instalar. Obtenido de SMS_Program.ProgramName . |
Compilar el código
Este ejemplo de C# requiere:
Espacios de nombres
System
System.Collections.Generic
System.Text
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Ensamblado
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Programación sólida
Para obtener más información sobre el control de errores, consulte Acerca de los errores de Configuration Manager.
Seguridad de .NET Framework
Para obtener más información sobre la protección de aplicaciones Configuration Manager, consulte Configuration Manager administración basada en roles.
Consulta también
Información general sobrelos objetos Cómo conectarse a un proveedor de SMS en Configuration Manager mediante código administrado
Conexión a un proveedor de SMS en Configuration Manager mediante WMI
Introducción a la secuencia de tareas Cómo crear un paquete de secuencia de tareas de implementación de sistema operativo