I’ve been doing a lot of testing with Provisioning Mode. I needed to know what was going on when a system was in provisioning mode. I’m expecting official docs to be released soon, I’ll link to them once it’s posted.
Basics: (Enter Provisioning Mode & Exit Commands) - More info HERE @ scconfigmgr.com
Enter Provisioning Mode: Invoke-WmiMethod -Namespace "root\ccm" -Class "SMS_Client" -Name "SetClientProvisioningMode" $true Exit Provisioning Mode: Invoke-WmiMethod -Namespace "root\ccm" -Class "SMS_Client" -Name "SetClientProvisioningMode" $false
To Check Status: HKLM\SOFTWARE\Microsoft\CCM\CcmExec
Provisioning Mode: False (Not in Provisioning Mode)
Provisioning Mode: True (In Provisioning Mode)
In the CcmExec.log, once you tell the machine go into provisioning mode, you'll see it shutting down CCMEXEC and move into Provisioning Mode State, but it never actually says it's entering into provisioning mode.
Learned from Testing (while in Provisioning Mode)
- Client will not pull down any new CM Policies
- Provisioning mode has NO connection to Group Policy. Group Policies still process while in Provisioning mode
- When a deployment reaches it’s deadline, it will change status to “Past Due” but does not start the installs.
- Tested with both Application Deployments & Software Updates. Neither started installing when reached their deadlines, only Status changed from “Scheduled for XX Time” to “Past Due”
- When client is removed from Provisioning mode, machine policy is updated nearly immediately, and past due installations start ASAP.
When is the client set to Provisioning mode (When is it supposed to be)? If it is in provisioning mode outside of these scenarios, it's probably an issue and you'll want to look into it
- During OSD, once the Client is installed, it is set to provisioning mode and stay in provisioning mode until the end of the TS. For context of how close to the end it is, it’s set after all of the steps in the TS, but right before the SMSTSPostAction
- In Place Upgrade
- Once the TS reaches “Upgrade Operating System” Step, it enters provisioning mode, and stops ccmexec service (Software Center closes if you still had that open) – It enters Provisioning Mode before the TS even downloads the Upgrade Media. unless you tell the TS to download all content before starting, this is a good reason to precache!
- After the upgrade process is complete, even if it fails like in my test, it will take the client back out of provisioning mode and restart the services.
- Once the TS reaches “Upgrade Operating System” Step, it enters provisioning mode, and stops ccmexec service (Software Center closes if you still had that open) – It enters Provisioning Mode before the TS even downloads the Upgrade Media. unless you tell the TS to download all content before starting, this is a good reason to precache!
- In Place Upgrade (Compat-Scan Only Mode)
- Identical process to Upgrade, even though it doesn’t actually upgrade. This has been raised as a bug / uservoice item, and in a future release, the upgrade process, if running compat / scan only mode, it will not put the system into provisioning mode.
Uservoice: https://configurationmanager.uservoice.com/forums/300492-ideas/suggestions/33036856-don-t-set-ccmclient-to-provisioning-mode-if-runnin
- Identical process to Upgrade, even though it doesn’t actually upgrade. This has been raised as a bug / uservoice item, and in a future release, the upgrade process, if running compat / scan only mode, it will not put the system into provisioning mode.
Issues I've run into with Provisioning Mode. During CompatScan Only mode TS running, I've had users reboot the machine, leaving the machine in provisioning mode when it came back up. While the window for this happening is small, 5 - 20 minutes, it has happened. We have the CompatScan Only TS running in the background unknown to the users, so it's not really their fault if they reboot it during the process. To work around this, I create a run once command to take a machine out of provisioning mode, if the process completes successfully, I delete the run once key as all is well, however, if the user does happen to reboot during the process, the next logon on, it will remove itself from provisioning mode thanks the turn run once key. (as shown in the twitter image of the TS Steps above)
TESTS RUN:
Collection with Required Deployments: 2 apps & software updates. Deadline for 6:30PM Client Time.
Machine is already in Provisioning Mode when Deployments are Created. Results: The Required Deployments never show up in the Software Center.
Deployments Created on Machine NOT in provisioning Mode, they show up in software Center with Deadline time. Then after the machine has the updated Policy, I placed it into Provisioning Mode. Sorry, this machine is already patched, so it doesn't show any of the MS Updates, but I have confirmed on other tests that Software Updates also respect Provisioning Mode and do NOT install.
After the Deadline, "Nothing" happens. Status changes from Scheduled... to Past Due, but the installs do NOT start.
So 2.5 hours past deadline, still no change.
Then I run command to take machine out of provisioning mode (which closes the software center). I then reopen Software Center and see those two Apps are already installing.
So, provisioning mode, hopefully this helps demystify what it is, and the effects it has on the ConfigMgr client.