Condividi tramite


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%.

Vedere anche

IProgressUI::ShowActionProgressProgressUI