Blog Detail

How to escape SCCM Provisioning Mode (automated)

22 Nov , 2014,
arien
, ,
No Comments

Provisioning mode is the state your SCCM client is in when deploying an OS via the task sequence. The client is installed in “provisioning mode” to prevent it from processing new policy requests until the task sequence is completed.

You can find its state in the registry;

HKLM\SOFTWARE\Microsoft\CCM\CcmExec\ProvisioningMode = True
HKLM\SOFTWARE\Microsoft\CCM\CcmExec\SystemTaskExclude = SchedulerStartup;SchedulerShutdown;SchedulerLogon;SchedulerLogoff;ClientRegistrationStartup

On a healthy machine that has finished a task sequence the ccmeval task changes these values when run succesfully. these registry values should be:

HKLM\SOFTWARE\Microsoft\CCM\CcmExec\ProvisioningMode = False
HKLM\SOFTWARE\Microsoft\CCM\CcmExec\SystemTaskExclude = (no value, should be blank)

In one situation (a year ago) I found out provisioning mode was not working correctly. Possibly caused by a bug because of an issue with mobileclient.tcf. This should be fixed in SCCM 2012 SP1 but we haven’t removed te fix for new deployments from our task sequence, just to be sure.
ProvisioningModeFix-TS

What about the clients already deployed with this issue??

For this particular environment I created a simple Workstation script (VBS) to get the SCCM client working again and back in active management. Because too many deployments were done before they noticed this. The workstation script is being run from the group policy because active directory membership is still working fine and GPO’s are being applied.

Where? Group Policy object/Computer Configuration/Windows Settings/Scripts (Startup/Shutdown)
WorkstationLogonVBSbox

This are the contents of this simple script with logging:
The script also checks if the folder C:\_SMSTaskSequence is present. This also was the case on the deployed machines in the field (Very Bad situation to be in, I know!).

The result of the log will be done to keep track on the clients you should see active very soon. It can look like this:

ProvisioningModeFix-Log

So please keep track on your clients that are not active/have no client and maybe you could use this method to get back in control of (all of) your clients!

Leave A Comment