Cómo agregar un paso a un grupo de implementación del sistema operativo
Agregue un paso (una acción o un grupo) a un grupo de secuencia de tareas de implementación del sistema operativo, en Configuration Manager, agregando el paso a la SMS_TaskSequenceGroup.Steps
propiedad de matriz.
Para agregar un paso a un grupo de 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.
Obtenga el objeto SMS_TaskSequenceGroup al que desea agregar el paso. Para obtener más información, vea Cómo crear un grupo de secuencia de tareas de implementación del sistema operativo.
Cree el paso de secuencia de tareas. Para obtener un ejemplo de cómo crear un paso de acción, vea Cómo agregar una acción de secuencia de tareas de implementación del sistema operativo.
Agregue el paso a la propiedad de
SMS_TaskSequenceGroup.Steps
matriz.Reordene el paso dentro de la propiedad de matriz según sea necesario. Para obtener más información, vea Cómo volver a ordenar una secuencia de tareas de implementación del sistema operativo.
Ejemplo
El siguiente método de ejemplo agrega una acción de línea de comandos a un grupo de secuencia de tareas.
Para obtener información sobre cómo llamar al código de ejemplo, vea Llamar a fragmentos de código de Configuration Manager.
Sub AddStepToGroup(taskSequenceStep, group)
Dim steps
' If needed, create a new steps array.
If IsNull(group.Steps) Then
steps = Array(taskSequenceStep)
group.Steps=steps
Else
' Resize the existing steps and add step.
steps= Array(group.Steps)
ReDim steps (UBound (group.Steps)+1)
group.Steps(UBound(steps))=taskSequenceStep
End if
End Sub
public void AddStepToGroup(
WqlConnectionManager connection,
IResultObject taskSequence,
string groupName)
{
try
{
// Get the group.
List<IResultObject> steps = taskSequence.GetArrayItems("Steps"); // Array of SMS_TaskSequence_Steps.
foreach (IResultObject ro in steps)
{
if (ro["Name"].StringValue == groupName && ro["__CLASS"].StringValue == "SMS_TaskSequence_Group")
{
IResultObject action = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_RunCommandLineAction");
action["CommandLine"].StringValue = @"C:\donowtingroup.bat";
action["Name"].StringValue = "Action in group " + groupName;
action["Description"].StringValue = "Action in a group";
action["Enabled"].BooleanValue = true;
action["ContinueOnError"].BooleanValue = false;
// Add the step to the task sequence.
List<IResultObject> array = ro.GetArrayItems("Steps");
array.Add(action);
ro.SetArrayItems("Steps", array);
taskSequence.SetArrayItems("Steps", steps);
break;
}
}
}
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. |
taskSequence taskSequenceStep |
-Administrado: IResultObject - VBScript: SWbemObject |
- Secuencia de tareas válida (SMS_TaskSequence) que contiene el grupo. |
groupName group |
-Administrado: String -Vbscript: String |
Nombre del grupo al que se agrega la acción de línea de comandos. Esto se obtiene de la SMS_TaskSequenceGroup.Name propiedad . |
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
Cómo mover un paso a un grupo de secuencia de tareas de implementación de sistema operativo diferente
Cómo crear un grupo de secuencias de tareas de implementación del sistema operativo
Cómo quitar un paso de un grupo de implementación de sistema operativo
Introducción a la secuencia de tareas