Guide pratique pour créer une séquence de tâches de déploiement de système d’exploitation
Vous créez une séquence de tâches de déploiement de système d’exploitation Configuration Manager en créant une instance de la classe SMS_TaskSequence.
Une séquence de tâches contient une ou plusieurs étapes qui sont exécutées séquentiellement sur l’ordinateur client. Pour plus d’informations, consultez Modèle objet de séquence de tâches de déploiement de système d’exploitation.
La séquence de tâches est ensuite empaquetée dans un SMS_TaskSequencePackage et annoncée sur l’ordinateur client.
Pour créer une 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
SMS_TaskSequence
de tâches.Ajoutez des actions et, si nécessaire, ajoutez des groupes à l’action. Pour plus d’informations, consultez Comment ajouter une action de séquence de tâches de déploiement de système d’exploitation.
Associez la séquence de tâches à un package de séquence de tâches. Pour plus d’informations, consultez How to Create an Operating System Deployment Task Sequence Package.
Publiez la séquence de tâches sur l’ordinateur client. Pour plus d’informations, consultez Guide pratique pour créer une publication.
Exemple
L’exemple de méthode suivant crée une séquence de tâches qui installe un programme logiciel. L’exemple crée également un package de séquence de tâches en appelant l’exemple défini dans How to Create an Operating System Deployment Task Sequence Package.
Pour plus d’informations sur l’appel de l’exemple de code, consultez Appel d’extraits de code 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;
}
}
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. |
name |
-Géré: String -Vbscript: String |
Nom de l’étape de séquence de tâches. |
description |
-Vbscript: String |
Description de l’étape de séquence de tâches. |
packageID |
-Géré: String -Vbscript: String |
Identificateur de package contenant le logiciel à installer. Obtenu à partir de SMS_Package.PackageID . |
programName |
-Géré: String -Vbscript: String |
Nom du programme à installer. Obtenu à partir de SMS_Program.ProgramName . |
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 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
Vue d’ensemble des séquencesde tâches Comment créer un package de séquence de tâches de déploiement de système d’exploitation