This is Part 1 of a four-part article for beginners to System Center Configuration Manager (SCCM) wishing to troubleshoot Windows deployment, primarily using SCCM’s own log files.

When you begin deploying any Microsoft Operating System using SCCM you soon learn that things often go wrong and you don't know why. Worse still, SCCM simply confronts you with arcane task-sequence errors, advising you to “please contact your system administrator or helpdesk “. Since that will be you, it’s not much help. Fortunately Microsoft also provides plenty of help through log files. There are two minor challenges here: Firstly, there are lots of different log files, and secondly SCCM puts them in different paths depending on what phase the deployment is in.

Since the core thread of deployment is the task-sequence, we need to find the log for that. The name betrays its age: it is called smsts.log. This log is always the first step to troubleshooting any deployment issue. If you have an issue, look in here first! Unfortunately, SCCM can put smsts.log in one of seven places, depending on the stage of the build and the architecture of the OS, as per Table 1 - SCCM task-sequence log paths.

SCCM task-sequence log paths

PhasePath
WinPE, before HDD formatx:\windows\temp\smstslog\smsts.log
WinPE, after HDD formatcopied to c:\_SMSTaskSequence\Logs\Smstslog\smsts.log
Full version windows, before SCCM agent installedc:\_SMSTaskSequence\Logs\Smstslog\smsts.log
Full OS, after SCCM agent%windir%\system32\ccm\logs\Smstslog\smsts.log or %windir%\sysWOW64\ccm\logs\Smstslog\smsts.log (64-bit)
Full OS, build complete%windir%\system32\ccm\logs\smsts.log or %windir%\sysWOW64\ccm\logs\smsts.log (64-bit)

Debugging essentials

The two obligatory steps to do, to help you troubleshoot are modifications to your WinPE boot image. Firstly “enable command support” which lets you use F8 at any point during a task-sequence to open a command shell. Microsoft thoughtfully added “testing only” to remind you to turn the feature off when your task-sequence (TS) is ready for production. The second is to add a log viewer from Microsoft called trace32.exe to the boot environment. It is part of “System Center Configuration Manager 2007 Toolkit V2”. Download the file “ConfigMgrTools.msi” from here, and then install it on your admin machine.

Enabling F8 is a simple matter of ticking a box on the WinPE tab, but adding trace32.exe is slightly more involved. It is easiest if you have integrated MDT into the SCCM console, at which point you get a field “extra files”. Otherwise the only way is to mount the WIM as writeable, add the file manually and then save the changes to the WIM.

How to enable command shell (F8) support in OSD

  1. Under “Operating System Deployment, Boot images” right-click your WinPE boot image and open properties
  2. Click the Window PE tab and tick “Enable command support (testing only).
  3. Update the distribution point

That’s the end of the good news. The bad news is that Microsoft still persists in using arcane error messages that shed very little light on what is wrong, such as this:

“Task Sequence: <Task_Sequence_Name> has failed with the error code (0x80070070). For more information, please contact your system administrator or helpdesk operator.”

Subscribe to 4sysops newsletter!

The next parts of this article translate the many arcane error messages that SCCM inflicts on you, into plain English, organised into relevant sections.

8 Comments
  1. Imran Ashraf 6 years ago

    Very helpful – Thanks very much

    Imran Ashraf

  2. sushma koppala 6 years ago

    patch deployment issues by reviewing MS SCCM logs ..

    can you help on this

  3. Eric 5 years ago

    Would I be able to view logs for the OS deployments that would state if an application was successfully installed or not? I am not asking which applications are being deployed in the task sequence, this I know. I just need to know if the application was installed successfully or not. I have done some research and some suggestions were checking “status messages” but it required making a custom query. If  I could just check the logs using “CMTrace” (Trace32) I think that would be all I need. Appreciate any insight on this.

    • Author

      Hi Eric – CMTrace (or trace32 for 2007) can definitely tell you what you want. The log to look at is still SMSTS.Log. All you need to do is use the filter feature and enter criteria “installed successfully”. This will give a list of only the items that installed. If you know what is meant to be there you can check them off. Perhaps a nicer/quicker way is to use PowerShell to do the same thing – hunt for those words.Finally, whilst status messages are useful, I don’t like using them for OSD checking. I either look at Monitoring and find the deployment and look at the status log in the console, or, even better use CMtrace and connect through to the remote machine and look at the logs directly. Note you can redirect the logs to a central share too, which can also help with auditing.Mike

      avatar
  4. Brandon 5 years ago

    Is there any log that shows why an OSD is pulling from the primary site instead of the DP?  What should I be looking for?  The SMSTS.LOG show’s it’s pulling from the PS but can’t find out what’s wrong.  Initially I thought it was disk space but that’s not the case. Any help is greatly appreciated.

  5. Joe Smith 3 years ago

    8 yrs, still very relevant.

    I point this article to all my students when they get their first go at Task Sequencing.

Leave a reply

Your email address will not be published. Required fields are marked *

*

© 4sysops 2006 - 2023

CONTACT US

Please ask IT administration questions in the forums. Any other messages are welcome.

Sending

Log in with your credentials

or    

Forgot your details?

Create Account