Informazioni sulla creazione di report Configuration Manager stato dell'azione personalizzata
Mentre un'azione personalizzata è in esecuzione in un client Configuration Manager, può segnalare le informazioni sullo stato usate per visualizzare un indicatore di stato.
Usare l'interfaccia di automazione COM , IProgressUI::ShowActionProgress, per segnalare le informazioni sullo stato di avanzamento all'ambiente della sequenza di attività e per visualizzare un indicatore di stato.
IProgressUI::ShowActionProgress
viene implementato nella classe COM ProgressUI, che è un oggetto COM out-of-process in TSProgressUI.exe.
ProgressUI nell'ambiente della sequenza di attività
Prima dell'esecuzione della sequenza di attività, ProgressUI
viene registrato e quindi, al termine della sequenza di attività, viene annullata la registrazione. Nel sistema operativo di origine viene ProgressUI
eseguito con le credenziali utente registrate. Se nessun utente è connesso quando viene eseguita la sequenza di attività, la registrazione per l'oggetto COM ha esito negativo. Nel sistema operativo di destinazione e in Windows PE viene ProgressUI
eseguito con l'account di sistema.
Chiamata di IProgressUI::ShowActionProgress
Nell'azione personalizzata è necessario eseguire le operazioni seguenti per segnalare lo stato di avanzamento dell'azione personalizzata e visualizzare un indicatore di stato.
Nota
In genere, è necessario segnalare informazioni sullo stato di avanzamento se l'esecuzione dell'azione richiede più di un minuto.
Determinare se l'indicatore di stato deve essere visualizzato
Usando la logica seguente, è possibile usare le variabili di ambiente per determinare se l'indicatore di stato deve essere visualizzato.
Se si esegue in WindowsPE ( _SMSTSInWinPE
== "true"), o
Se si esegue il sistema operativo completo dopo l'installazione (_SMSTSReturnToGINA
=="true") o
Se la sequenza di attività viene avviata dal supporto (_SMSTSLaunchMode
è "CD", "DVD" o "USB") o
Se la sequenza di attività è in esecuzione in modalità autonoma (_SMSTSStandAloneMode
=="true") o
Se il flag dell'interfaccia utente show progress è impostato (_SMSTSShowProgressUI
== "true"), l'indicatore di stato deve essere visualizzato; in caso contrario, non deve essere visualizzato.
Creazione dell'oggetto COM ProgressUI
È possibile creare un ProgressUI
oggetto usando la stessa tecnica usata con qualsiasi oggetto COM. In C++ si usa CoCreateInstance
. In C# si aggiunge un riferimento all'interfaccia utente di stato di SMS TSE e nel codice sorgente si crea un'istanza della ProgressUILib.ProgressUIClass
classe .
In VBScript chiamare CreateObject
con Microsoft.SMS. TsProgressUI.
Per un esempio di creazione di un oggetto COM in VBSript e C#, vedere How to Use Task Sequence Variables in a Running Configuration Manager Task Sequence.For an example of creating a COM object in VBSript and C#, see How to Use Task Sequence Variables in a Running Configuration Manager Task Sequence.
Recupero delle variabili di ambiente necessarie
Diverse variabili di ambiente contengono informazioni che è necessario passare al IProgressUI::ShowActionProgress
metodo . Ad esempio, il nome dell'organizzazione necessario per il pszOrgName
parametro è disponibile dalla variabile di ambiente , _SMSTSOrgName
. Per altre informazioni, vedere IProgressUI::ShowActionProgress. Per informazioni sulla lettura delle variabili di ambiente della sequenza di attività, vedere How to Use Task Sequence Variables in a Running Configuration Manager Task Sequence.For information about reading task sequence environment variables, see How to Use Task Sequence Variables in a Running Configuration Manager Task Sequence.
Chiamata di IProgressUI::ShowActionProgress
Chiamare IProgressUI::ShowActionProgress
per visualizzare l'indicatore di stato usando le informazioni recuperate dalle variabili di ambiente. Per passare la percentuale di avanzamento corrente, usare i parametri uActionExecStep
e uActionExecMaxStep
. Ad esempio, se si passa il valore 2 in uActionExecStep
e si passa il valore 10 in uActionExecMaxStep
, la percentuale di completamento dell'azione è del 20%.