Informacje o postępie akcji niestandardowej Configuration Manager raportowania
Akcja niestandardowa jest uruchamiana na kliencie Configuration Manager, ale może raportować informacje o postępie, które są używane do wyświetlania wskaźnika postępu.
Interfejs automatyzacji COM, IProgressUI::ShowActionProgress, służy do raportowania informacji o postępie w środowisku sekwencji zadań i wyświetlania wskaźnika postępu.
IProgressUI::ShowActionProgress
jest implementowany w klasie COM ProgressUI, która jest obiektem COM poza procesem w TSProgressUI.exe.
ProgressUI w środowisku sekwencji zadań
Przed uruchomieniem sekwencji zadań jest rejestrowana, ProgressUI
a następnie po zakończeniu sekwencji zadań jest wyrejestrowana. W źródłowym systemie ProgressUI
operacyjnym jest uruchamiany w obszarze poświadczeń zalogowanego użytkownika. Jeśli żaden użytkownik nie jest zalogowany po uruchomieniu sekwencji zadań, rejestracja obiektu COM kończy się niepowodzeniem. W docelowym systemie operacyjnym i w systemie Windows PE ProgressUI
działa na koncie systemowym.
Wywoływanie elementu IProgressUI::ShowActionProgress
W ramach akcji niestandardowej należy wykonać następujące czynności, aby zgłosić postęp akcji niestandardowej i wyświetlić wskaźnik postępu.
Uwaga
Zazwyczaj należy zgłosić informacje o postępie, jeśli uruchomienie akcji trwa dłużej niż minutę.
Określanie, czy wskaźnik postępu powinien być wyświetlany
Korzystając z poniższej logiki, możesz użyć zmiennych środowiskowych, aby określić, czy wskaźnik postępu powinien być wyświetlany.
Jeśli działasz w środowisku WindowsPE ( _SMSTSInWinPE
== "true") lub
Jeśli działasz w pełnym systemie operacyjnym po instalacji (_SMSTSReturnToGINA
=="true"), lub
Jeśli sekwencja zadań jest uruchamiana z nośnika (_SMSTSLaunchMode
to "CD", "DVD" lub "USB") lub
Jeśli sekwencja zadań jest uruchomiona w trybie autonomicznym (_SMSTSStandAloneMode
=="true"), lub
Jeśli flaga interfejsu użytkownika postępu pokazu jest ustawiona (_SMSTSShowProgressUI
== "true"), wskaźnik postępu powinien być wyświetlany; w przeciwnym razie nie powinien być wyświetlany.
Tworzenie obiektu PROGRESSUI COM
Obiekt można ProgressUI
utworzyć przy użyciu tej samej techniki, która jest używana z dowolnym obiektem COM. W języku C++ używasz polecenia CoCreateInstance
. W języku C# dodajesz odwołanie do interfejsu użytkownika postępu usługi SMS TSE, a w kodzie źródłowym tworzysz wystąpienie ProgressUILib.ProgressUIClass
klasy.
W języku VBScript wywołaj polecenie CreateObject
Microsoft.SMS. TsProgressUI.
Przykład tworzenia obiektu COM w językach VBSript i C#można znaleźć w temacie How to Use Task Sequence Variables in a Running Configuration Manager Task Sequence (Jak używać zmiennych sekwencji zadań w uruchomionej sekwencji zadań Configuration Manager).
Pobieranie wymaganych zmiennych środowiskowych
Kilka zmiennych środowiskowych zawiera informacje, które należy przekazać do IProgressUI::ShowActionProgress
metody . Na przykład nazwa organizacji potrzebna dla parametru pszOrgName
jest dostępna w zmiennej środowiskowej . _SMSTSOrgName
Aby uzyskać więcej informacji, zobacz IProgressUI::ShowActionProgress. Aby uzyskać informacje na temat odczytywania zmiennych środowiskowych sekwencji zadań, zobacz How to Use Task Sequence Variables in a Running Configuration Manager Task Sequence (Jak używać zmiennych sekwencji zadań w sekwencji zadań uruchomionej Configuration Manager).
Wywoływanie elementu IProgressUI::ShowActionProgress
Wywołaj polecenie IProgressUI::ShowActionProgress
, aby wyświetlić wskaźnik postępu przy użyciu informacji pobieranych ze zmiennych środowiskowych. Aby przekazać bieżący postęp procentowy, należy użyć parametrów uActionExecStep
i uActionExecMaxStep
. Jeśli na przykład przekażesz wartość 2 i uActionExecStep
przekażesz wartość 10 w uActionExecMaxStep
elemencie , procent ukończenia akcji wynosi 20 procent.