Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Wanneer een aangepaste actie wordt uitgevoerd op een Configuration Manager-client, kan deze voortgangsinformatie rapporteren die wordt gebruikt om een voortgangsindicator weer te geven.
U gebruikt de COM-automatiseringsinterface, IProgressUI::ShowActionProgress, om voortgangsinformatie te rapporteren aan de takenreeksomgeving en om een voortgangsindicator weer te geven.
IProgressUI::ShowActionProgress wordt geïmplementeerd in de COM-klasse, ProgressUI, een out-of-process COM-object in TSProgressUI.exe.
ProgressUI in de takenreeksomgeving
Voordat de takenreeks wordt uitgevoerd, ProgressUI wordt geregistreerd en wanneer de takenreeks is voltooid, wordt de registratie opgeheven. Wordt in het bronbesturingssysteem ProgressUI uitgevoerd met de aangemelde gebruikersreferenties. Als er geen gebruiker is aangemeld op het moment dat de takenreeks wordt uitgevoerd, mislukt de registratie van het COM-object. In het doelbesturingssysteem en in Windows PE ProgressUI wordt dit uitgevoerd onder het systeemaccount.
IProgressUI aanroepen::ShowActionProgress
In de aangepaste actie moet u het volgende doen om de voortgang van de aangepaste actie te rapporteren en een voortgangsindicator weer te geven.
Opmerking
Normaal gesproken moet u voortgangsgegevens rapporteren als de actie meer dan één minuut in beslag neemt.
Bepalen of de voortgangsindicator moet worden weergegeven
Met behulp van de volgende logica kunt u omgevingsvariabelen gebruiken om te bepalen of de voortgangsindicator moet worden weergegeven.
Als u werkt in WindowsPE ( _SMSTSInWinPE == "true"), of
Als u na de installatie in het volledige besturingssysteem werkt (_SMSTSReturnToGINA=="true"), of
Als de takenreeks wordt gestart vanaf medium (_SMSTSLaunchMode is 'cd', 'dvd' of 'usb'), of
Als de takenreeks wordt uitgevoerd in de zelfstandige modus (_SMSTSStandAloneMode=="true"), of
Als de UI-vlag voor voortgang weergeven is ingesteld (_SMSTSShowProgressUI == "true"), moet de voortgangsindicator worden weergegeven; anders zou deze niet moeten worden weergegeven.
Het COM ProgressUI-object maken
U maakt een ProgressUI object op dezelfde manier als andere COM-objecten. In C++ gebruikt CoCreateInstanceu . In C# voegt u een verwijzing toe naar SMS TSE Progress UI, en in uw broncode maakt u een exemplaar van de ProgressUILib.ProgressUIClass klasse.
Bel CreateObject in VBScript met Microsoft.SMS.TsProgressUI.
Voor een voorbeeld van het maken van een COM-object in VBSript en C# raadpleegt u Taakreeksvariabelen gebruiken in een actieve Configuration Manager taakreeks.
De vereiste omgevingsvariabelen ophalen
Verschillende omgevingsvariabelen bevatten informatie die u aan de IProgressUI::ShowActionProgress methode moet doorgeven. De organisatienaam die nodig is voor de pszOrgName parameter is bijvoorbeeld beschikbaar vanuit de omgevingsvariabele. _SMSTSOrgName Zie IProgressUI::ShowActionProgress voor meer informatie. Zie Taakreeksvariabelen gebruiken in een actieve Configuration Manager taakreeks voor informatie over het lezen van omgevingsvariabelen van takenreeksen.
IProgressUI aanroepen::ShowActionProgress
Bel IProgressUI::ShowActionProgress dit diagram om de voortgangsindicator weer te geven met behulp van de informatie die wordt opgehaald uit de omgevingsvariabelen. Als u de huidige voortgang van het percentage wilt doorgeven, gebruikt u de parameters uActionExecStep en uActionExecMaxStep. Als u bijvoorbeeld de waarde 2 doorgeeft uActionExecStep en de waarde 10 doorgeeft uActionExecMaxStep, is het voltooiingspercentage van de actie 20 procent.