SCCM 2012 client goes into provisioning mode after running the ‘Configuration Manager Health Evaluation’ scheduled task and it is deemed necessary to try and reinstall the client.
In SCCM 2012, after running the ‘Configuration Manager Health Evaluation’ scheduled task and trying to reinstall the client, the SCCM client enters provisioning mode – this means that the SCCM client stops functioning and the Configuration Manager Control Panel applet actions tab only shows the ‘Machine Policy Retrieval & Evaluation Cycle’ and the ‘User Policy Retrieval & Evaluation Cycle’ actions and nothing else. In addition, the registry values on the client shows:
HKLMSOFTWAREMicrosoftCCMCcmExecProvisioningMode = True
HKLMSOFTWAREMicrosoftCCMCcmExecSystemTaskExclude = SchedulerStartup;SchedulerShutdown;SchedulerLogon;SchedulerLogoff;ClientRegistrationStartup
On a healthy machine that has finished a task sequence, these registry values should be:
HKLMSOFTWAREMicrosoftCCMCcmExecProvisioningMode = False
HKLMSOFTWAREMicrosoftCCMCcmExecSystemTaskExclude = (no value, should be blank)
Even after fixing the registry value to look like a healthy machine, once the ‘Configuration Manager Health Evaluation’ scheduled task runs again, the client will once again be broken and the
registry values set back to provisioning mode.
Also, checking the Mobileclient.tcf file in the ccmsetup directory of a fully built machine shows SMSPROVISIONINGMODE=1 in the client install section – on a healthy client this should be
The SMSPROVISIONINGMODE value in Mobileclient.tcf is incorrectly set to the value of 1 after the task sequence instead of 0.
According to Microsoft Premier Support, this is scheduled to be fixed in Service Pack 1 of SCCM 2012 that is due for release in early 2013.
Create a VB script to run at the end of the task sequence to remove the SMSPROVISIONINGMODE value from Mobileclient.tcf:
Const ForReading = 1
Const ForWriting = 2
Set objFSO = CreateObject(“Scripting.FileSystemObject”)
Set objFile = objFSO.OpenTextFile(“C:windowsccmsetupMobileClient.TCF”, ForReading)
strText = objFile.ReadAll
strNewText = Replace(strText, “SMSPROVISIONINGMODE=1 “, “”)
Set objFile = objFSO.OpenTextFile(“C:windowsccmsetupMobileClient.TCF”, ForWriting)