Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En Configuration Manager, puede reordenar los pasos (una acción o un grupo) en una secuencia de tareas o un grupo reorganizando la secuencia de pasos en la propiedad PasosSMS_TaskSequence_Step matriz.
Para cambiar el orden de una secuencia de tareas
Configure una conexión al proveedor de SMS. Para obtener más información, consulte Aspectos básicos del proveedor de SMS.
Obtenga una secuencia de tareas (SMS_TaskSequence) o un grupo de secuencias de tareas (SMS_TaskSequence_Group) válidos. Para obtener más información, vea Cómo leer una secuencia de tareas de un paquete de secuencia de tareas.
Dentro de la propiedad de
Stepsmatriz, mueva el SMS_TaskSequence_Step a su nueva ubicación.Actualice la secuencia o el grupo de tareas.
Ejemplo
En el ejemplo siguiente se muestra cómo mover un paso hacia arriba o hacia abajo dentro de una secuencia de tareas o grupo.
Para obtener información sobre cómo llamar al código de ejemplo, consulte Llamar a fragmentos de código de Configuration Manager.
Sub MoveTaskSequenceStepDown(taskSequence, stepName)
Dim index
Dim osdStep
Dim temp
index=0
' If found, move the step down.
for each osdStep in taskSequence.Steps
If osdStep.Name=stepName Then
If index < Ubound (TaskSequence.Steps) Then
Set temp=osdStep
taskSequence.Steps(index)=taskSequence.Steps(index+1)
taskSequence.Steps(index+1)=temp
Exit For
End If
End If
index=index+1
next
End Sub
Sub MoveTaskSequenceStepUp(taskSequence, stepName)
Dim index
Dim osdStep
Dim temp
index=0
' If found, move the step up.
for Each osdStep In taskSequence.Steps
If osdStep.Name=stepName Then
If index >1 Then
Set temp=osdStep
taskSequence.Steps(index)=taskSequence.Steps(index-1)
taskSequence.Steps(index-1)=temp
Exit For
End If
End If
index=index+1
next
End Sub
public void MoveTaskSequenceStepDown(
IResultObject taskSequence,
string taskSequenceStepName)
{
try
{
// Get the task sequence steps.
List<IResultObject> steps = taskSequence.GetArrayItems("Steps"); // Array of SMS_TaskSequence_Steps.
int index = 0;
// Scan through the steps to find the step to move down.
foreach (IResultObject ro in steps)
{
if (ro["Name"].StringValue == taskSequenceStepName)
{
// Move the step.
if (index < steps.Count - 1) // Not at end, so we can flip.
{
steps.Insert(index + 2, steps[index]);
steps.Remove(steps[index]);
taskSequence.SetArrayItems("Steps", steps);
break;
}
}
index++;
}
}
catch (SmsException e)
{
Console.WriteLine("Failed To enumerate task sequence items: " + e.Message);
throw;
}
}
public void MoveTaskSequenceStepUp(
IResultObject taskSequence,
string taskSequenceStepName)
{
try
{
// Get the task sequence steps.
List<IResultObject> steps = taskSequence.GetArrayItems("Steps"); // Array of SMS_TaskSequence_Steps.
int index = 0;
foreach (IResultObject ro in steps)
{
if (ro["Name"].StringValue == taskSequenceStepName)
{
if (index > 0) // Not the first step, so you can move it up.
{
steps.Insert(index + 1, steps[index - 1]);
steps.Remove(steps[index - 1]);
taskSequence.SetArrayItems("Steps", steps);
break;
}
}
index++;
}
}
catch (SmsException e)
{
Console.WriteLine("Failed To enumerate task sequence items: " + e.Message);
throw;
}
}
El método de ejemplo tiene los siguientes parámetros:
| Parámetro | Tipo | Descripción |
|---|---|---|
taskSequence |
- Administrado: IResultObject- VBScript: SWbemObject |
Una secuencia de tareas o grupo de secuencias de tareas válida |
taskSequenceStepNamestepName |
- Administrado: String- VBScript: String |
Nombre del paso de la secuencia de tareas que se va a mover. |
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 acerca del control de errores, consulte Acerca de los errores de Configuration Manager.
Seguridad de .NET Framework
Para obtener más información acerca de cómo proteger las aplicaciones de Configuration Manager, consulte Administración basada en roles de Configuration Manager.
Consulta también
Información general sobre objetosCómo agregar una acción de secuencia de tareas de implementación del sistema operativoCómo conectarse a un proveedor de SMS en Configuration Manager mediante código administradoCómo conectarse a un proveedor de SMS en Configuration Manager mediante WMI Introducción a la secuencia de tareas