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 CreateObjectMicrosoft.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 uActionExecMaxStepelemencie , procent ukończenia akcji wynosi 20 procent.

Zobacz też

IProgressUI::ShowActionProgressProgressUI