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.
Lorsqu’une action personnalisée s’exécute sur un client Configuration Manager, elle peut signaler des informations de progression utilisées pour afficher un indicateur de progression.
Vous utilisez l’interface d’automatisation COM, IProgressUI ::ShowActionProgress, pour signaler des informations de progression à l’environnement de séquence de tâches et afficher un indicateur de progression.
IProgressUI::ShowActionProgress est implémenté dans la classe COM, ProgressUI, qui est un objet COM hors processus dans TSProgressUI.exe.
ProgressUI dans l’environnement de séquence de tâches
Avant l’exécution de la séquence de tâches, ProgressUI est enregistrée, puis, lorsque la séquence de tâches se termine, elle n’est pas enregistrée. Dans le système d’exploitation source, ProgressUI s’exécute sous les informations d’identification de l’utilisateur connecté. Si aucun utilisateur n’est connecté lors de l’exécution de la séquence de tâches, l’inscription de l’objet COM échoue. Dans le système d’exploitation cible et dans Windows PE, ProgressUI s’exécute sous le compte système.
Appel de IProgressUI ::ShowActionProgress
Dans votre action personnalisée, vous devez effectuer les opérations suivantes pour signaler la progression de votre action personnalisée et afficher un indicateur de progression.
Remarque
En règle générale, vous devez signaler des informations de progression si l’action prend plus d’une minute à s’exécuter.
Déterminer si l’indicateur de progression doit être affiché
À l’aide de la logique suivante, vous pouvez utiliser des variables d’environnement pour déterminer si l’indicateur de progression doit être affiché.
Si vous exécutez dans WindowsPE ( _SMSTSInWinPE == « true ») ou
Si vous exécutez dans un système d’exploitation complet après l’installation (_SMSTSReturnToGINA=="true »), ou
Si la séquence de tâches est démarrée à partir d’un support (_SMSTSLaunchMode CD, DVD ou USB), ou
Si la séquence de tâches s’exécute en mode autonome (_SMSTSStandAloneMode=="true »), ou
Si l’indicateur d’interface utilisateur show progress est défini (_SMSTSShowProgressUI == « true »), l’indicateur de progression doit s’afficher ; sinon, il ne doit pas s’afficher.
Création de l’objet COM ProgressUI
Vous créez un objet à l’aide de ProgressUI la même technique que celle utilisée avec n’importe quel objet COM. En C++, vous utilisez CoCreateInstance. En C#, vous ajoutez une référence à l’interface utilisateur SMS TSE Progress et dans votre code source, vous créez une instance de la ProgressUILib.ProgressUIClass classe.
Dans VBScript, appelez CreateObject avec Microsoft.SMS.TsProgressUI.
Pour obtenir un exemple de création d’un objet COM dans VBSript et C#, consultez Comment utiliser des variables de séquence de tâches dans une séquence de tâches Configuration Manager en cours d’exécution.
Obtention des variables d’environnement requises
Plusieurs variables d’environnement contiennent des informations que vous devez transmettre à la IProgressUI::ShowActionProgress méthode. Par exemple, le nom d’organisation nécessaire pour le pszOrgName paramètre est disponible dans la variable d’environnement, _SMSTSOrgName. Pour plus d’informations, consultez IProgressUI ::ShowActionProgress. Pour plus d’informations sur la lecture des variables d’environnement de séquence de tâches, 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.
Appel de IProgressUI ::ShowActionProgress
Appelez IProgressUI::ShowActionProgress pour afficher l’indicateur de progression à l’aide des informations récupérées à partir des variables d’environnement. Pour transmettre le pourcentage de progression actuel, vous utilisez les paramètres uActionExecStep et uActionExecMaxStep. Par exemple, si vous transmettez la valeur 2 dans uActionExecStep et la valeur 10 dans uActionExecMaxStep, le pourcentage d’achèvement de l’action est de 20 %.