Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans Configuration Manager, vous pouvez réorganiser les étapes (une action ou un groupe) dans une séquence de tâches ou un groupe en réorganisant la séquence d’étapes dans le tableau SMS_TaskSequence_Step de propriétés Étapes.
Pour réorganiser une séquence de tâches
Établissez une connexion au fournisseur SMS. Pour plus d’informations, consultez Principes de base du fournisseur SMS.
Obtenir une séquence de tâches (SMS_TaskSequence) ou un groupe de séquences de tâches (SMS_TaskSequence_Group) valide. Pour plus d’informations, voir Comment lire une séquence de tâches à partir d’un package de séquence de tâches.
Dans la propriété de tableau
Steps, déplacez le SMS_TaskSequence_Step vers son nouvel emplacement.Mettez à jour la séquence de tâches ou le groupe.
Exemple
L’exemple suivant montre comment monter ou descendre d’un échelon au sein d’une séquence de tâches ou d’un groupe.
Pour plus d’informations sur l’appel de l’exemple de code, consultez Appel d’extraits de code 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;
}
}
L’exemple de méthode contient les paramètres suivants :
| Paramètre | Type | Description |
|---|---|---|
taskSequence |
- Géré : IResultObject- VBScript : SWbemObject |
Une séquence de tâches ou un groupe de séquences de tâches valide |
taskSequenceStepNamestepName |
- Géré : String- VBScript : String |
Nom de l’étape de séquence de tâches à déplacer. |
Compilation du code
Cet exemple C# requiert :
Espaces de noms
Système
System.Collections.Generic
System.Text
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
Microsoft.ConfigurationManagement.ManagementProvider
adminui.wqlqueryengine
Programmation robuste
Pour plus d’informations sur la gestion des erreurs, voir À propos des erreurs du Configuration Manager.
Sécurité de .NET Framework
Pour plus d’informations sur la sécurisation des applications Configuration Manager, voir Administration basée sur les rôles de Configuration Manager.
Voir aussi
Vue d’ensemble des objetsComment ajouter un déploiement de système d’exploitation Action de séquence de tâchesComment se connecter à un fournisseur SMS dans Configuration Manager à l’aide de code managéComment se connecter à un fournisseur SMS dans Configuration Manager à l’aide de WMIVue d’ensemble de la séquence de tâches