December 21 2012

SCCM 2012 client goes into Provisioning Mode

Problem Summary

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.
 
Problem Details

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
SMSPROVISIONINGMODE=0
 
Cause

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.
 
Solution

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
objFile.Close
strNewText = Replace(strText, “SMSPROVISIONINGMODE=1 “, “”)

Set objFile = objFSO.OpenTextFile(“C:windowsccmsetupMobileClient.TCF”, ForWriting)
objFile.WriteLine strNewText
objFile.Close
 
Related information

 



----------------------------------------------------------------------------
I use a maximum of one Google Ad per post to help offset some of my blog hosting costs.

----------------------------------------------------------------------------

December 18 2012

KB2506143 (WMF 3.0) breaks SCCM 2012

I’m currently working with a client that has installed Microsoft Update KB2506143 (Windows Management Framework 3.0) that was released by Microsoft on 12/12/2012 on their SCCM 2012 clients. Microsoft have confirmed that this KB has a known issue that breaks WMI and subsequently SCCM 2012 clients and management points.

I would suggest removing the update from SCCM until a fix is found.  See http://blog.danovich.com.au/2012/12/18/decline-exclude-an-update-in-sccm-2012/

Update 21.12.2012 – KB released http://support.microsoft.com/kb/2796086

December 18 2012

Decline / exclude an update in SCCM 2012

Recently I needed to decline an update in SCCM 2012 so it wouldn’t install or get approved again via an Automated Deployment Rule.

Remove / Decline Update

  1. Go to All Software Updates
  2. Find the Update you want to decline
  3. Highlight and right-click, then select Edit Membership
  4. Uptick all of the Software Update Groups and click OK

Stop automatic approval via Automated Deployment Rule

  1. Set the Custom Severity for the update you want to exclude to Low
  2. In the ADR(s),  add the Custom Severity field and set it to None. This will exclude any update(s) that are set to Low.

 

 

 

December 10 2012

Enabling verbose logging on SCCM server

I’ve needed to do this a number of times in the past for SCCM 2007, the process is similar for SCCM 2012. Note that this is verbose logging for server components – it’s nothing to do with the SCCM client side.  In the registry of the server, navigate to HKEY_LOCAL_MACHINESOFTWAREMicrosoftSMSCOMPONENTS and then find the component that you want to need to enable verbose logging for. Select that key and then find the DWORD “Verbose Logging” as shown below:

Update the DWORD “Verbose Logging” to one of the following values:

Default is value 0.

Value 0: Errors and key messages;
Value 1: Everything in value 0 and Warnings and more general information;
Value 2: Verbose (everything)

Then restart the ‘SMS Executive’ service on the server.

Give it a few minutes to start writing to the logs, then check the logs of the component you are interested in, for example:

ciamgr.log – SMS_CI_ASSIGNMENT_MANAGER
Colleval.log – SMS_COLLECTION_EVALUATOR
compsumm.log – SMS_COMPONENT_STATUS_SUMMARIZER
Dataldr.log – SMS_INVENTORY_DATA_LOADER
ddm.log – SMS_DISCOVERY_DATA_MANAGER
Distmgr.log – SMS_DISTRIBUTION_MANAGER
Hman.log – SMS_HIERARCHY_MANAGER
objreplmgr.log – SMS_OBJECT_REPLICATION_MANAGER
offermgr.log – SMS_OFFER_MANAGER
Offersum.log – SMS_OFFER_STATUS_SUMMARIZER
policypv.log – SMS_POLICY_PROVIDER
sinvproc.log – SMS_SOFTWARE_INVENTORY_PROCESSOR
Sitestat.log – SMS_SITE_SYSTEM_STATUS_SUMMARIZER
smsdbmon.log – SMS_DATABASE_NOTIFICATION_MONITOR
statesys.log – SMS_STATE_SYSTEM
Statmgr.log – SMS_STATUS_MANAGER
swmproc.log – SMS_SOFTWARE_METERING_PROCESSOR
wcm.log – SMS_WSUS_CONFIGURATION_MANAGER
wsyncmgr.log – SMS_WSUS_SYNC_MANAGER

The log should now hold a lot more information.

As I was writing this article, I came across another similar article that has a lot more detail in it, some it may be worth a look too – http://anoopcnair.com/2012/11/12/configmgr-sccm-how-to-turn-on-verbose-sql-nal-logging/