Comment ajouter une action de séquence de tâches de déploiement de système d’exploitation
Une action de séquence de tâches de déploiement de système d’exploitation est ajoutée à une séquence de tâches, dans Configuration Manager, en créant une instance d’une classe dérivée SMS_TaskSequence_Action, puis en l’ajoutant aux étapes de la séquence de tâches.
Remarque
Configuration Manager a un certain nombre d’actions intégrées que vous pouvez utiliser. Par exemple, la classe d’action de ligne de commande est SMS_TaskSequence_RunCommandLineAction. Ces classes dérivent de la classe SMS_TaskSequence_Action .
SMS_TaskSequenceAction dérive de la classe SMS_TaskSequence_Step , qui est la classe de base pour les actions et les groupes. La séquence de tâches stocke ses étapes dans un tableau de SMS_TaskSequence_Step, ce qui permet aux actions et aux groupes d’être stockés ensemble.
Pour ajouter une action de séquence de tâches
Configurez une connexion au fournisseur SMS. Pour plus d’informations, consultez Notions de base du fournisseur SMS.
Créez un objet de séquence de tâches (SMS_TaskSequence). Pour plus d’informations, consultez Procédure de création d’une séquence de tâches de déploiement de système d’exploitation.
Créez une instance de classe dérivée SMS_TaskSequenceAction, par exemple , SMS_TaskSequence_RunCommandLineAction, pour l’action souhaitée.
Remplissez l’action comme il convient.
Ajoutez l’action aux étapes des séquences de tâches. Il s’agit de la propriété Steps de la classe SMS_TaskSequence).
Exemple
L’exemple de méthode suivant crée une action de ligne de commande et l’ajoute à la séquence de tâches fournie.
Pour plus d’informations sur l’appel de l’exemple de code, consultez Appel d’extraits de code Configuration Manager.
Sub AddTaskSequenceActionCommandLine(connection, taskSequence, name, description)
Dim steps
Dim action
Set action = connection.Get("SMS_TaskSequence_RunCommandLineAction").SpawnInstance_
action.CommandLine = "cmd /c Echo Hello"
action.Name=name
action.Description=description
action.Enabled=True
action.ContinueOnError=False
If IsNull(taskSequence.Steps) Then
steps = Array(action)
taskSequence.Steps=steps
Else
steps= Array(taskSequence.Steps)
ReDim steps (UBound (taskSequence.Steps)+1)
taskSequence.Steps(UBound(steps))=action
End if
End Sub
public IResultObject AddTaskSequenceActionCommandLine(
WqlConnectionManager connection,
IResultObject taskSequence,
string name,
string description)
{
try
{
// Create the new step.
IResultObject ro;
ro = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_RunCommandLineAction");
ro["CommandLine"].StringValue = @"cmd /c Echo Hello";
ro["Name"].StringValue = name;
ro["Description"].StringValue = description;
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);
return ro;
}
catch (SmsException e)
{
Console.WriteLine("Failed to add action: " + e.Message);
throw;
}
}
L’exemple de méthode a les paramètres suivants :
Paramètre | Type | Description |
---|---|---|
connection |
-Géré: WqlConnectionManager - VBScript : SWbemServices |
Connexion valide au fournisseur SMS. |
taskSequence |
-Géré: IResultObject - VBScript : SWbemObject |
Séquence de tâches valide. |
Name |
-Géré: String -Vbscript: String |
Nom de la nouvelle action. |
Description |
-Géré: String -Vbscript: String |
Description de l’action. |
Compilation du code
Cet exemple C# nécessite :
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, consultez À propos des erreurs Configuration Manager.
Sécurité de .NET Framework
Pour plus d’informations sur la sécurisation des applications Configuration Manager, consultez Configuration Manager’administration basée sur les rôles.
Voir aussi
Vue d’ensemble des objetsComment ajouter une condition à une étape de séquence de tâches de déploiement de système d’exploitation
Comment 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 WMI
Comment créer un groupe de séquences de tâches de déploiement de système d’exploitation
Comment supprimer une action de séquence de tâches de déploiement de système d’exploitation
Vue d’ensemble de la séquence de tâches