À propos de Configuration Manager fichiers MOF d’action personnalisée
Dans Configuration Manager, les actions de déploiement du système d’exploitation sont définies dans le fichier MOF (Managed Object Format), %ProgramFiles%\Microsoft Configuration Manager\bin\i386\_tasksequenceprovider.mof.
Lorsque vous créez une action personnalisée, vous devez créer un fichier MOF qui déclare votre action personnalisée. Vous utilisez ensuite Mofcomp.exe pour ajouter vos modifications au fournisseur SMS. Pour plus d’informations, consultez How to Create a MOF File for a Configuration Manager Custom Action.
L’administrateur configure l’action personnalisée, telle que définie par le fichier MOF, à l’aide d’un contrôle d’action personnalisée. Pour plus d’informations, consultez À propos de Configuration Manager actions personnalisées.
Contenu du fichier MOF
Une action personnalisée dérive de SMS_TaskSequence_Action classe WMI du serveur. La déclaration de fichier MOF inclut une définition de classe et divers qualificateurs pour la ligne de commande, les variables de séquence de tâches, la catégorie et l’emplacement de l’assembly de contrôle d’action personnalisée.
Les propriétés déclarées dans une classe, à l’exception de celles avec le CommandLineArg
qualificateur, sont disponibles en tant que variables de séquence de tâches pendant le déploiement du client. Pour plus d’informations, consultez Guide pratique pour utiliser des variables de séquence de tâches dans une séquence de tâches Configuration Manager en cours d’exécution.
L’espace de noms de l’action personnalisée est \\root\SMS_Site_SITECODE. Lorsque le fichier MOF est compilé, l’action personnalisée est un enfant de SMS_TaskSequence_Action classe WMI du serveur.
Remarque
Pour obtenir un exemple de MOF, consultez l’action de séquence de tâches MOF déclarée dans _tasksequenceprovider.mof.
La section du fichier MOF pour la déclaration d’action personnalisée ressemble à l’exemple suivant :
[ CommandLine("smsswd.exe /run:%1 Application.exe /user:%2"),
VariablePrefix("MyCustomActionPrefix"),
ActionCategory("My Custom Action Category,7,1"),
ActionName{"ConfigMgrTSAction.dll", "ConfigMgrTSAction.Properties.Resources", "ConfigMgrTSAction"},
ActionUI{"ConfigMgrTSAction.dll", "ConfigMgrTSAction","ConfigMgrTSActionControl",
"ConfigureTSActionOptions"}
]
class ConfigMgrTSActionControl : SMS_TaskSequence_Action
{
[TaskSequencePackage, CommandLineArg(1)]
string PackageIDForApplicationExe;
[Not_Null, CommandLineArg(2)]
string User;
[VariableName("CustomLocation")]
string Location;
};
Le MOF complet spécifie également l’espace de noms et d’autres informations,
Pour obtenir le MOF complet de cet exemple, consultez How to Create a MOF File for a Configuration Manager Custom Action.
Ligne de commande
La ligne de commande de l’action est décrite dans le qualificateur de CommandLine
classe. Il définit l’application appelée et les différents arguments qui peuvent être fournis. Pour chaque argument de ligne de commande, il existe un CommandLineArg
qualificateur de classe pour l’argument sur la propriété de classe correspondante.
CommandLine
prend généralement la forme suivante :
CommandLine("smsswd.exe /run:%1 Application.exe %2 %3")
Smsswd.exe est utilisé pour exécuter un programme dans un package. Elle nécessite les arguments suivants :
Argument | Description |
---|---|
/run:%1 | Identifie le package dans lequel se trouve l’application. %1 est l’identificateur du package (SMS_Package propriété classePackageID WMI du serveur). |
Application.exe | Application d’action personnalisée exécutée. |
%2 - %n | Un ou plusieurs arguments de ligne de commande pour Application.exe. |
Les chaînes de substitution de ligne de commande, %1, %2, etc., sont définies par le qualificateur de CommandLineArg
classe. Par exemple, les éléments suivants déclarent %1.
[TaskSequencePackage, CommandLineArg(1)]
string PackageIDForApplicationExe;
Avec le contrôle d’action personnalisée, vous utilisez la PackageIDForApplicationExe
propriété pour configurer l’identificateur de package.
Remarque
Les propriétés déclarées avec le CommandLineArg
qualificateur ne sont pas disponibles en tant que variables de séquence de tâches pendant le déploiement du client.
Catégorie d’action
Une action peut être associée à une catégorie spécifique, dans le menu déroulant de l’éditeur de séquence de tâches, à l’aide du qualificateur de ActionCategory
classe.
Remarque
N’utilisez pas une catégorie déjà utilisée par une autre action.
La syntaxe est la suivante :
ActionCategory{CategoryName,ActionOrder,CategoryOrder}
CategoryName
Nom de la catégorie.
ActionOrder
Ordre d’action dans la catégorie.
CategoryOrder
Ordre des catégories dans toutes les catégories.
Les catégories de Configuration Manager par défaut auxquelles vous pouvez ajouter une action sont les suivantes :
Général
Disques
État utilisateur
Des images
Pilotes
Paramètres
Vous pouvez également créer une nouvelle catégorie en spécifiant une nouvelle catégorie dans le qualificateur de
ActionCategory
classe. Par exemple, le fichier MOF suivant crée une catégorie appelée Ma catégorie personnalisée. L’action est placée en deuxième position dans la catégorie et la catégorie est classée cinquième au total.ActionCategory{"My Custom Category",2,5"},
ActionName
Le ActionName
qualificateur de classe définit le nom du contrôle d’action personnalisée. Le qualificateur a la syntaxe suivante :
ActionName{"Assembly", "Namespace.Properties.Resources", "Control"}
Assembly
Assembly qui contient le contrôle d’action.
Namespace.Properties.Resources
Espace de noms de la ressource qui contient les chaînes de nom d’action affichées. Pour plus d’informations, consultez How to Create a Configuration Manager Custom Action Control.
Control
Contrôle qui contient les ressources de chaîne.
Interface utilisateur de l’action
Le ActionUI
qualificateur de classe définit l’emplacement de l’assembly et des classes utilisées par une action. Le qualificateur a la syntaxe suivante :
ActionUI{"Assembly","Namespace", "Control", "Option control"}
Assembly
Assembly qui contient le contrôle d’action.
Namespace
Espace de noms dans lequel réside le contrôle d’action.
Control
Contrôle d’action affiché dans l’éditeur de séquence de tâches. Il héberge la page de contrôle d’option.
Option control
Page utilisée pour gérer les options d’action, dans l’éditeur de séquence de tâches.
Plusieurs onglets de contrôle peuvent être implémentés en incluant d’autres noms de classes de contrôle séparés par des virgules. Par exemple :
ActionUI{"Assembly »,"Namespace », « Control1 », « Control2 », « Control3 », « Option control"}
Variables d’action
Le VariableName
qualificateur est utilisé pour remplacer le nom de variable par défaut d’une propriété.
Une propriété de classe peut être définie en tant que variable de séquence de tâches en ajoutant le qualificateur de VariableName
classe. Dans l’exemple ci-dessus, la propriété MessageTimeout
est une variable d’action portant le nom RebootTimeout
.
Si le qualificateur de VariablePrefix
classe est utilisé, les variables sont précédées de la valeur de qualificateur de classe.
Pour plus d’informations sur l’utilisation des variables, consultez How to Use Task Sequence Variables in a Running Configuration Manager Task Sequence
Propriétés
Qualificatifs
Plusieurs qualificateurs peuvent être appliqués aux propriétés MOF. Les éléments suivants sont couramment utilisés :
Qualificateur | Description |
---|---|
CommandLineArg | Propriété qui doit être insérée sur la ligne de commande |
Not_Null | Une valeur est requise pour cette propriété. |
ValueMap | Spécifie une liste de valeurs de chaîne autorisées. |
ValueRange | Spécifie une plage de valeurs autorisées (champs int). |
RequiredIfNull | Une valeur est requise pour cette propriété si une autre propriété a la valeur Null. |
TaskSequencePackage | Identifie une propriété en tant qu’identificateur de package. |
VariableName | Spécifie un nom différent pour la propriété dans l’environnement de séquence de tâches. |
AllowedLen | Spécifie le nombre minimal et maximal de caractères dans une chaîne. |
SuccessCodes | Spécifie un ou plusieurs codes de retour de l’exécutable qui indiquent la réussite. |
Restrictions
Les contraintes de qualificateur standard peuvent être appliquées aux propriétés de classe. Par exemple, dans l’exemple ci-dessus, les arguments de ligne de commande ne peuvent pas être
null
. Pour plus d’informations, consultez le Kit de développement logiciel (SDK) WMI (Windows Management Instrumentation).Vérifiez que les noms de propriétés et les qualificateurs sont synchronisés entre le fichier MOF, le contrôle d’action personnalisée et l’application cliente. Les noms des propriétés doivent correspondre ainsi que toutes les limitations. Par exemple, si une
int
propriété est requise et qu’elle doit être comprise entre 1 et 512, le fichier MOF doit avoir unNot_Null
qualificateur etValueRange
, le contrôle personnalisé doit s’assurer que la propriété est définie et comprise dans la plage, et l’application cliente doit vérifier la valeur avant de l’utiliser.
Voir aussi
À propos de Configuration Manager actions personnalisées
Guide pratique pour créer un contrôle d’action personnalisée Configuration Manager
Comment créer un fichier MOF pour une action personnalisée Configuration Manager
Comment utiliser des variables de séquence de tâches dans une séquence de tâches Configuration Manager en cours d’exécution
À propos Configuration Manager applications clientes d’action personnalisée