Windows 7 / Getting Started

The Smsts.log File

After checking deployment status, the next place to look when troubleshooting is the smsts.log on the target system. This client side log file lives in various places depending on the stage of the deployment, as listed in Table-4 . The smsts.log file is a detailed log of every task sequence related action that takes place on a target system. It usually indicates exactly why a task sequence fails and reviewing it is the single most important step in troubleshooting a task sequence: when in doubt, check smsts.log.

You might also want to check http://blogs.technet.com/inside_osd/archive/2007/12/13/ troubleshooting-tips.aspx for additional information. Steve Rachui of Microsoft discusses an excellent method for copying the OSD log files, including smsts.log, at http://blogs. msdn.com/steverac/archive/2008/07/15/capturing-logs-during-failed-task-sequenceexecution. aspx . Note that although both of these previous links were written for ConfigMgr 2007, the information and techniques presented are still applicable.

One shortcoming of the smsts.log file is it has a maximum 2MB limit and is not verbose by default. Increasing this limit or enabling verbose logging involves multiple steps.

TABLE-4 Smsts.log Locations
Deployment FinishedStatusConfigMgr Client Installed?Location
NoWinPE runningN/AWindows temp folder on the WinPE RAM-disk: x:\windows\temp\smsts.log
NoDeployed OS runningYesSmstslog subfolder in the ConfigMgr client logging folder: usually % windir %\ccm\logs\smstslog
NoOS Setup runningNoSMSTSLog folder on the largest available volume: usually %_ SMSTSMDataPath %Logs\Smstslog\smsts.log
NoDeployed OS runningNoWindows temp subfolder: % windir %\temp\smstslog
YesWinPE runningN/ASMSTSLog folder on largest available volume: usually %_ SMSTSMDataPath %\Logs\Smstslog
YesDeployed OS runningYesConfigMgr client logging folder: usually %windir%\ccm\logs
YesDeployed OS runningNoWindows temp folder: usually % windir %\Temp
ERROR CODES
There is no complete list of error codes that can be returned by a task sequence or the program and command lines it executes. This is because ConfigMgr and OSD use a variety of tools and Windows APIs to perform their work, and anything custom you add to a task sequence may have its own set of nonstandard error code. Here are several suggestions in diagnosing error codes:
  • A good place to start is the ever-handy Trace32 log viewer. A built-in error lookup function in this tool available from the menu, Tools → Error Lookup , attempts to look up an error number and return a friendly message. This message is often informative and can lead you down the path to finding the actual issue.
  • You can also find a list of common OSD-relevant error codes and possible solutions available on TechNet, at http://technet.microsoft.com/en-us/library/bb735886.aspx.
  • Another guide to helping decipher error codes is at http://blog.configmgrftw.com/?p=42.

One error that is commonly misinterpreted is 0x80004005. This error code is not "Access Denied," it is "Unspecified Error."

Windows Setup Log Files

As mentioned in the "Images Category" section, the Setup Windows and ConfigMgr task actually runs Windows setup, which is effectively a black box to the task sequence. If Windows setup has issues for whatever reason, these are not reflected in smsts.log. To troubleshoot these issues, reference the Windows setup log files as outlined at http://support.microsoft.com/kb/927521 .

A related log file is % windir %\debug\Netsetup.log. This log file reflects domain join activity and should be reviewed if systems are not successfully joined to the specified domain during a task sequence.

Troubleshooting USMT

Troubleshooting USMT is a log examination exercise that first involves enabling verbose logging on the Capture User State and Restore User State tasks. A full discussion of the resulting log files is at http://technet.microsoft.com/en-us/library/dd560780%28WS.10%29.aspx.

[Previous] [Contents]