- How to create a PowerShell alias - Tue, Jul 29 2014
- System Center Updates Publisher – Create a SCUP catalog - Fri, May 23 2014
- System Center Updates Publisher – Third-party patch management - Wed, May 21 2014
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
Phase | Path |
WinPE, before HDD format | x:\windows\temp\smstslog\smsts.log |
WinPE, after HDD format | copied to c:\_SMSTaskSequence\Logs\Smstslog\smsts.log |
Full version windows, before SCCM agent installed | c:\_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
- Under “Operating System Deployment, Boot images” right-click your WinPE boot image and open properties
- Click the Window PE tab and tick “Enable command support (testing only).
- 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.
Very helpful – Thanks very much
Imran Ashraf
You’re very welcome. It’s old advice now, but is still valid.
Mike
patch deployment issues by reviewing MS SCCM logs ..
can you help on this
Hi,Patching ironically uses the same logs as always: C:\Windows\Windowsupdate.log being the main one.There is also eventlogs galore in eventviewer (source c:\windows\logs\Windowsupdate).In the CCM folder there are a few more to check: c:\windows\ccm\logs\UpdatesHandler.log, WUAHandler.log and PolicyEvaluator.log as the most useful.for a full list see here: https://technet.microsoft.com/en-us/library/hh427342.aspx#BKMK_WSUSLogMike
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.
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
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.
8 yrs, still very relevant.
I point this article to all my students when they get their first go at Task Sequencing.