Поделиться через


Сведения об отчете о ходе выполнения пользовательских действий Configuration Manager

Пока настраиваемое действие выполняется на Configuration Manager клиенте, оно может сообщать сведения о ходе выполнения, которые используются для отображения индикатора хода выполнения.

Интерфейс автоматизации COM IProgressUI::ShowActionProgress используется для передачи сведений о ходе выполнения в среду последовательности задач и отображения индикатора хода выполнения.

IProgressUI::ShowActionProgress реализуется в com-классе ProgressUI, который является внепроцессным COM-объектом в TSProgressUI.exe.

ProgressUI в среде последовательности задач

Перед выполнением последовательности задач регистрируется, ProgressUI а затем, когда последовательность задач завершается, она не регистрируется. В исходной операционной системе выполняется с учетными данными пользователя, ProgressUI выполнившего вход. Если при выполнении последовательности задач ни пользователь не вошел в систему, регистрация com-объекта завершается ошибкой. В целевой операционной системе и в Среде предустановки ProgressUI Windows выполняется под системной учетной записью.

Вызов IProgressUI::ShowActionProgress

В пользовательском действии необходимо выполнить следующие действия, чтобы сообщить о ходе выполнения пользовательского действия и отобразить индикатор хода выполнения.

Примечание.

Как правило, следует сообщать сведения о ходе выполнения, если выполнение действия занимает более одной минуты.

Определение того, должен ли отображаться индикатор хода выполнения

С помощью следующей логики можно использовать переменные среды, чтобы определить, должен ли отображаться индикатор хода выполнения.

Если вы работаете в WindowsPE ( _SMSTSInWinPE == "true"), или

Если после установки используется полная операционная система (_SMSTSReturnToGINA=="true"), или

Если последовательность задач запускается с носителя (_SMSTSLaunchMode имеет значение "CD", "DVD" или "USB"), или

Если последовательность задач выполняется в автономном режиме (_SMSTSStandAloneMode=="true"), или

Если флаг пользовательского интерфейса show progress установлен (_SMSTSShowProgressUI == "true"), индикатор хода выполнения должен отображаться; в противном случае он не должен отображаться.

Создание объекта COM ProgressUI

Объект создается ProgressUI с помощью того же метода, что и для любого COM-объекта. В C++ используется CoCreateInstance. В C# вы добавляете ссылку на пользовательский интерфейс выполнения TSE SMS и в исходном коде создаете ProgressUILib.ProgressUIClass экземпляр класса .

В VBScript вызовите CreateObject с помощью Майкрософт.SMS. TsProgressUI.

Пример создания COM-объекта в VBSript и C# см. в статье Использование переменных последовательности задач в выполняемой последовательности задач Configuration Manager.

Получение обязательных переменных среды

Несколько переменных среды содержат сведения, которые необходимо передать в IProgressUI::ShowActionProgress метод . Например, имя организации, необходимое pszOrgName для параметра, доступно из переменной среды , _SMSTSOrgName. Дополнительные сведения см. в разделе IProgressUI::ShowActionProgress. Сведения о считывании переменных среды последовательности задач см. в разделе Использование переменных последовательности задач в последовательности задач выполняющейся Configuration Manager.

Вызов IProgressUI::ShowActionProgress

Вызовите IProgressUI::ShowActionProgress для отображения индикатора хода выполнения, используя сведения, полученные из переменных среды. Чтобы передать текущий процентный ход выполнения, используйте параметры uActionExecStep и uActionExecMaxStep. Например, если передать значение 2 в uActionExecStep и значение 10 в uActionExecMaxStep, то процент завершения действия составляет 20 процентов.

См. также

IProgressUI::ShowActionProgressProgressUI