Acerca de los informes Configuration Manager progreso de la acción personalizada

Mientras se ejecuta una acción personalizada en un cliente Configuration Manager, puede notificar información de progreso que se usa para mostrar un indicador de progreso.

Use la interfaz de automatización COM, IProgressUI::ShowActionProgress, para notificar información de progreso al entorno de secuencia de tareas y mostrar un indicador de progreso.

IProgressUI::ShowActionProgress se implementa en la clase COM, ProgressUI, que es un objeto COM fuera de proceso en TSProgressUI.exe.

ProgressUI en el entorno de secuencia de tareas

Antes de que se ejecute la secuencia de tareas, ProgressUI se registra y, después, cuando finaliza la secuencia de tareas, se anula el registro. En el sistema operativo de origen, ProgressUI se ejecuta con las credenciales de usuario iniciadas. Si ningún usuario ha iniciado sesión cuando se ejecuta la secuencia de tareas, se produce un error en el registro del objeto COM. En el sistema operativo de destino y en Windows PE, ProgressUI se ejecuta en la cuenta del sistema.

Llamada a IProgressUI::ShowActionProgress

En la acción personalizada, debe hacer lo siguiente para notificar el progreso de la acción personalizada y mostrar un indicador de progreso.

Nota:

Normalmente, debe informar de la información de progreso si la acción tarda más de un minuto en ejecutarse.

Determinar si se debe mostrar el indicador de progreso

Con la siguiente lógica, puede usar variables de entorno para determinar si se debe mostrar el indicador de progreso.

Si se ejecuta en WindowsPE ( _SMSTSInWinPE == "true"), o

Si se ejecuta en un sistema operativo completo después de la instalación (_SMSTSReturnToGINA=="true"), o

Si la secuencia de tareas se inicia desde medios (_SMSTSLaunchMode es "CD", "DVD" o "USB"), o

Si la secuencia de tareas se ejecuta en modo independiente (_SMSTSStandAloneMode=="true"), o

Si la marca de la interfaz de usuario show progress está establecida (_SMSTSShowProgressUI == "true"), se debe mostrar el indicador de progreso; de lo contrario, no debería mostrarse.

Creación del objeto PROGRESSUI COM

Un objeto se crea ProgressUI mediante la misma técnica que se usa con cualquier objeto COM. En C++ se usa CoCreateInstance. En C# agregue una referencia a la interfaz de usuario de progreso de TSE de SMS y, en el código fuente, cree una instancia de la ProgressUILib.ProgressUIClass clase .

En VBScript, llame a CreateObject con Microsoft.SMS. TsProgressUI.

Para obtener un ejemplo de cómo crear un objeto COM en VBSript y C#, vea How to Use Task Sequence Variables in a Running Configuration Manager Task Sequence.

Obtención de las variables de entorno necesarias

Varias variables de entorno contienen información que debe pasar al IProgressUI::ShowActionProgress método . Por ejemplo, el nombre de la organización que se necesita para el pszOrgName parámetro está disponible en la variable de entorno, _SMSTSOrgName. Para obtener más información, vea IProgressUI::ShowActionProgress. Para obtener información sobre cómo leer las variables de entorno de secuencia de tareas, vea How to Use Task Sequence Variables in a Running Configuration Manager Task Sequence(Cómo usar variables de secuencia de tareas en una secuencia de tareas en ejecución Configuration Manager).

Llamada a IProgressUI::ShowActionProgress

Llame IProgressUI::ShowActionProgress a para mostrar el indicador de progreso mediante la información que se recupera de las variables de entorno. Para pasar el progreso del porcentaje actual, use los parámetros uActionExecStep y uActionExecMaxStep. Por ejemplo, si pasa el valor 2 en uActionExecStep y pasa el valor 10 en uActionExecMaxStep, el porcentaje de finalización de la acción es del 20 %.

Vea también

IProgressUI::ShowActionProgressProgressUI