À propos des applications clientes d’action personnalisée Configuration Manager

La séquence de tâches dans Configuration Manager effectue des opérations d’action personnalisée pendant le déploiement du client. L’application peut être un processus, un script ou d’autres commandes. Les exigences de l’application sont définies dans un fichier MOF (Managed Object Format). Des exemples de conditions requises incluent l’environnement d’exploitation, les arguments de ligne de commande, les propriétés et les codes de retour. Ils sont ajoutés à l’environnement de séquence de tâches lorsque l’action est traitée.

Fichier MOF d’action personnalisée

Le fichier MOF d’une action personnalisée est semblable à l’exemple suivant :

[   CommandLine("smsswd.exe /run:%1 abc.exe %2"),
    : (custom ui control and category qualifiers for action)
    ]
class MyCustomAction : SMS_TaskSequence_Action
{
    [TaskSequencePackage, CommandLineArg(1)]
    string          PackageIDForAbcExe;

    [CommandLineArg(2), AllowedLen("1-32000")]
    string          AbcCommandLineArgs;

    [SuccessCodes, Not_Null]
    string          AbcSuccessCodes = "0 3010";

    string         SomeOtherPropertyThatAbcNeeds;

    string          SupportedEnvironment = "WinPEandFullOS";
};

Le fichier MOF décrit les informations nécessaires pour l’entrée d’application d’action personnalisée, l’environnement, les propriétés et les informations sur le package de déploiement.

Pour plus d’informations, consultez À propos du fichier MOF d’action personnalisée de Configuration Manager.

Entrée d’application

Les actions personnalisées doivent s’exécuter sans assistance, de sorte que l’application ne doit pas inviter à une entrée utilisateur. Toutes les entrées doivent provenir de la ligne de commande, de l’environnement de séquence de tâches ou d’un fichier de données.

La ligne de commande de l’application d’action est définie, dans le fichier MOF, à l’aide de l’action intégrée de ligne de commande Exécuter .

Par exemple :

CommandLine("smsswd.exe /run:PackageID abc.exe [any abc.exe command line args]"

Traitement de la demande

L’application de séquence de tâches exécute les opérations d’action personnalisée. Il doit être conscient de son environnement d’exploitation et avoir accès aux variables d’environnement de séquençage des tâches, à l’avancement du rapport et aux codes de renvoi.

Environnement

Le fichier MOF doit spécifier l’environnement d’exploitation avec la propriété de classeSupportedEnvironment WMI du serveur SMS_TaskSequence_Action. Les environnements disponibles sont Windows PE (WinPE), système d’exploitation complet (FullOS) ou les deux environnements (WinPEandFullOS).

Le choix de l’environnement dépend des circonstances. Par exemple, la configuration de l’installation préalable sera probablement effectuée dans l’environnement Windows PE. Pour plus d’informations, consultez Configuration requise pour le déploiement du système d’exploitation. Les mises à jour des systèmes d’exploitation actuellement installés utiliseront l’environnement complet du système d’exploitation. Par exemple, l’installation d’un logiciel ou d’un pilote. Les tâches indépendantes de l’environnement du système d’exploitation, telles que les redémarrages ou la création de connexions réseau, peuvent être effectuées en utilisant les deux paramètres d’environnement.

Traitement

Pendant le traitement, vous accédez aux variables de séquence de tâches définies par le fichier MOF à l’aide de l’objet TSEnvironment d’automatisation COM. Pour plus d’informations, voir Comment utiliser des variables de séquence de tâches dans une séquence de tâches Configuration Manager en cours d’exécution.

Si l’opération prend beaucoup de temps, vous pouvez signaler la progression à l’environnement de séquence de tâches et afficher un indicateur de progression à l’aide de la classe d’automatisation COM du client ProgressUI. Pour plus d’informations, consultez À propos de la création de rapports sur la progression de l’action personnalisée de Configuration Manager.

Achèvement

L’application doit définir la variable d’environnement SuccessCodes comme valeur de retour une fois qu’elle est terminée.

Return Description
0 Opération réussie
Non nul Échec

Si un redémarrage est nécessaire une fois l’application terminée, la variable d’environnement SMSTSRebootRequested doit être définie. Pour plus d’informations, voir Variables de séquence de tâches. Pour plus d’informations sur la définition de variables d’environnement, voir Comment utiliser des variables de séquence de tâches dans une séquence de tâches Configuration Manager en cours d’exécution.

Déploiement

Pour être utilisée par Configuration Manager, l’application d’action personnalisée doit être disponible à partir d’un package de Configuration Manager. L’administrateur peut créer le package à l’aide de la console Configuration Manager ou à l’aide d’un langage de programmation. Pour plus d’informations, consultez Comment créer un package.

L’identificateur du package doit être disponible pour que le déploiement fonctionne. En règle générale, le fichier MOF déclare une propriété pour la contenir, comme dans l’exemple suivant :

[TaskSequencePackage, CommandLineArg(1)]
string PackageIDForAbcExe;

Remarque

L’identificateur du package est la propriété de classePackageID WMI de SMS_Package Server.

L’identificateur de package est obtenu auprès de l’administrateur, lorsque l’action personnalisée est modifiée dans l’éditeur de séquence de tâches.

Pour activer ce comportement, votre contrôle d’action personnalisé peut utiliser un contrôle d’édition de texte dans son implémentation pour obtenir l’identificateur de package auprès de l’administrateur. Pour consulter un exemple d’utilisation d’un contrôle de texte, consultez Comment créer un contrôle d’action personnalisé Configuration Manager.

Lorsqu’il est utilisé par l’administrateur, le contrôle d’action personnalisé est modifié dans le cadre d’une séquence de tâches à l’aide de l’éditeur de séquence de tâches. Lors de l’enregistrement par l’éditeur de séquence de tâches, une classe WMI SMS_TaskSequencePackage Server est créée pour contenir la séquence de tâches, y compris l’action personnalisée.

Le package de séquence de tâches est ensuite annoncé aux clients avec le package d’actions personnalisées référencé par l’action personnalisée. Pour plus d’informations, voir Comment créer une publicité.

Lorsque l’action personnalisée est exécutée sur le client, l’identificateur de package pour l’action personnalisée est fourni sous la forme d’un paramètre de ligne de commande, à partir duquel les fichiers binaires pour l’action personnalisée sont extraits et exécutés.

L’identificateur du package est fourni à l’aide du /run paramètre de ligne de commande pour Smsswd.exe.

Partition pré-réseau et configuration pré-partition

Si vous devez configurer la connectivité réseau ou le disque avant d’avoir une partition de disque et avant d’avoir une connectivité réseau, vous devez créer une application pour effectuer ces tâches. Votre application doit être placée dans une image de démarrage personnalisée à l’aide du Kit de déploiement et d’évaluation Windows (ADK). Pour plus d’informations, consultez Scénarios Windows ADK pour les professionnels de l’informatique.

Remarque

L’ajout de fichiers au fichier image de démarrage peut augmenter la configuration minimale en RAM requise et peut, en raison de conditions de mémoire insuffisante, entraîner l’échec inattendu des séquences de tâches.

Ensuite, importez l’image dans le Configuration Manager en tant qu’image personnalisée. Pour plus d’informations, consultez Ajouter une image de démarrage.

L’application, les fichiers de prise en charge et les SMSTS.INI personnalisés doivent être placés dans le dossier Windows.

Pour utiliser l’application, utilisez l’image de démarrage personnalisée dans une séquence de tâches qui contient une étape de prépartition/réseau.

Voir aussi

À propos de Gestionnaire de configuration actions personnalisées

À propos du fichier MOF d’action personnalisée de Configuration Manager