Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Gdy na kliencie programu Configuration Manager jest uruchomiona akcja niestandardowa, może raportować informacje o postępie służące do wyświetlania wskaźnika postępu.
Interfejs automatyzacji COM, IProgressUI::ShowActionProgress, służy do raportowania informacji o postępie do środowiska 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.
Interfejs ProgressUI w środowisku sekwencji zadań
Przed uruchomieniem sekwencji zadań jest rejestrowana, ProgressUI a następnie, po zakończeniu sekwencji zadań, jest wyrejestrowywana. W źródłowym systemie ProgressUI operacyjnym działa na podstawie poświadczeń zalogowanego użytkownika. Jeśli podczas uruchamiania sekwencji zadań nie jest zalogowany żaden użytkownik, rejestracja obiektu COM kończy się niepowodzeniem. W docelowym systemie operacyjnym i środowisku Windows PE ProgressUI działa w ramach konta systemowego.
Wywoływanie IProgressUI::ShowActionProgress
W akcji niestandardowej musisz wykonać następujące czynności, aby raportować postęp tej czynności i wyświetlać wskaźnik postępu.
Uwaga
Zazwyczaj informacje o postępie należy zgłaszać, jeśli uruchomienie akcji trwa dłużej niż minutę.
Określanie, czy powinien być wyświetlany wskaźnik postępu
Korzystając z następującej logiki, możesz użyć zmiennych środowiskowych, aby określić, czy wskaźnik postępu powinien być wyświetlany.
Jeśli korzystasz ze środowiska WindowsPE ( _SMSTSInWinPE == "true") lub
Jeśli po instalacji używasz pełnego systemu operacyjnego (_SMSTSReturnToGINA=="true") lub
Jeśli sekwencja zadań jest uruchamiana z nośnika (_SMSTSLaunchMode jest "CD", "DVD" lub "USB") lub
Jeśli sekwencja zadań jest uruchomiona w trybie autonomicznym (_SMSTSStandAloneMode=="true") lub
Jeśli ustawiono flagę interfejsu użytkownika pokaż postęp (_SMSTSShowProgressUI == "true"), wskaźnik postępu powinien być wyświetlany; w przeciwnym razie nie powinien być wyświetlany.
Tworzenie obiektu COM ProgressUI
ProgressUI Obiekt tworzy się przy użyciu tej samej techniki, którą stosuje się w przypadku każdego obiektu COM. W języku C++ używany jest CoCreateInstance. W języku C# dodasz odwołanie do interfejsu użytkownika postępu TSE usługi SMS, a w kodzie źródłowym utworzysz wystąpienie ProgressUILib.ProgressUIClass klasy.
W języku VBScript wywołaj połączenie CreateObject z Microsoft.SMS.TsProgressUI.
Aby zapoznać się z przykładem tworzenia obiektu COM w VBSript i języku C#, zobacz Jak używać zmiennych sekwencji zadań w uruchomionej sekwencji zadań programu 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, która jest potrzebna pszOrgName dla parametru, _SMSTSOrgNamejest dostępna z poziomu zmiennej środowiskowej . Aby uzyskać więcej informacji, zobacz IProgressUI::ShowActionProgress. Aby uzyskać informacje na temat odczytywania zmiennych środowiskowych sekwencji zadań, zobacz Jak używać zmiennych sekwencji zadań w uruchomionej sekwencji zadań programu Configuration Manager.
Wywoływanie IProgressUI::ShowActionProgress
Wywołaj IProgressUI::ShowActionProgress , aby wyświetlić wskaźnik postępu przy użyciu informacji pobieranych ze zmiennych środowiskowych. Aby przekazać bieżącą wartość procentową postępu, należy użyć parametrów uActionExecStep i uActionExecMaxStep. Na przykład w przypadku przekazania wartości 2 in uActionExecStep i wartości 10 w uActionExecMaxStepprogramie wartość procentowa wykonania akcji wynosi 20 procent.