Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.