보고 Configuration Manager 사용자 지정 작업 진행률 정보
사용자 지정 작업이 Configuration Manager 클라이언트에서 실행되는 동안 진행률 표시기를 표시하는 데 사용되는 진행률 정보를 보고할 수 있습니다.
COM 자동화 인터페이스인 IProgressUI::ShowActionProgress를 사용하여 작업 순서 환경에 진행률 정보를 보고하고 진행률 표시기를 표시합니다.
IProgressUI::ShowActionProgress
는 com 클래스 ProgressUI에서 구현되며, 이는 TSProgressUI.exe out-of-process COM 개체입니다.
작업 순서 환경의 ProgressUI
작업 순서가 실행되기 전에 가 ProgressUI
등록되고 작업 순서가 완료되면 등록이 취소됩니다. 원본 운영 체제에서 은 ProgressUI
로그온한 사용자 자격 증명으로 실행됩니다. 작업 순서가 실행될 때 로그인한 사용자가 없으면 COM 개체에 대한 등록이 실패합니다. 대상 운영 체제 및 Windows PE ProgressUI
에서는 시스템 계정으로 실행됩니다.
IProgressUI::ShowActionProgress 호출
사용자 지정 작업에서 다음을 수행하여 사용자 지정 작업의 진행률을 보고하고 진행률 표시기를 표시해야 합니다.
참고
일반적으로 작업을 실행하는 데 1분 이상 걸리는 경우 진행률 정보를 보고해야 합니다.
진행률 표시기를 표시할지 여부 결정
다음 논리를 사용하여 환경 변수를 사용하여 진행률 표시기를 표시해야 하는지 여부를 확인할 수 있습니다.
WindowsPE( _SMSTSInWinPE
== "true")에서 실행하는 경우 또는
설치 후 전체 운영 체제에서 실행 중인 경우(_SMSTSReturnToGINA
=="true") 또는
작업 순서가 미디어에서 시작되는 경우(_SMSTSLaunchMode
"CD", "DVD" 또는 "USB") 또는
작업 순서가 독립 실행형 모드(_SMSTSStandAloneMode
=="true")에서 실행되는 경우 또는
표시 진행률 UI 플래그(=_SMSTSShowProgressUI
= "true")가 설정된 경우 진행률 표시기가 표시되어야 합니다. 그렇지 않으면 표시해서는 안 됩니다.
COM ProgressUI 개체 만들기
COM 개체에서 ProgressUI
사용하는 것과 동일한 기술을 사용하여 개체를 만듭니다. C++에서는 를 사용합니다 CoCreateInstance
. C#에서 SMS TSE Progress UI 에 대한 참조를 추가하고 소스 코드에서 클래스의 인스턴스를 ProgressUILib.ProgressUIClass
만듭니다.
VBScript에서 Microsoft.SMS를 사용하여 를 호출 CreateObject
합니다. TsProgressUI.
VBSript 및 C#에서 COM 개체를 만드는 예제는 실행 중인 Configuration Manager 작업 순서에서 작업 순서 변수를 사용하는 방법을 참조하세요.
필수 환경 변수 가져오기
여러 환경 변수에는 메서드에 IProgressUI::ShowActionProgress
전달해야 하는 정보가 포함되어 있습니다. 예를 들어 매개 변수에 pszOrgName
필요한 조직 이름은 환경 변수 _SMSTSOrgName
에서 사용할 수 있습니다. 자세한 내용은 IProgressUI::ShowActionProgress를 참조하세요. 작업 순서 환경 변수를 읽는 방법에 대한 자세한 내용은 실행 중인 Configuration Manager 작업 순서에서 작업 순서 변수를 사용하는 방법을 참조하세요.
IProgressUI::ShowActionProgress 호출
를 호출 IProgressUI::ShowActionProgress
하여 환경 변수에서 검색된 정보를 사용하여 진행률 표시기를 표시합니다. 현재 백분율 진행률을 전달하려면 매개 변수 uActionExecStep
및 uActionExecMaxStep
를 사용합니다. 예를 들어 의 값 2를 전달하고 의 uActionExecStep
uActionExecMaxStep
값 10을 전달하는 경우 작업의 완료율은 20%입니다.