How to Troubleshoot SCCM Task Sequence Debugger

Let’s start learning How to Troubleshoot SCCM Task Sequence Debugger. The SCCM Task Sequence Debugger tool can be launched by right-clicking on Task Sequence and clicking SCCM Task Sequence Debugger.

Starting with the SCCM 2203, the Task Sequence debugger features are no longer pre-release.

This post will discuss a tool called Microsoft Endpoint Configuration Manager, “Task sequence debugger, “which helps with the above challenges.

I have presented this topic at the “How To Manage Devices” event on 14th Dec.

Patch My PC

Related Post from Vishal on SMSTS.log magic https://www.anoopcnair.com/sccm-osd-task-sequence-ultimate-guide/

Introduction – SCCM Task Sequence Debugger

Most Windows 10 admins who manage task sequences go through challenging tasks below.

Analyze the task sequence logic: In the Task sequence, we spend a lot of time defining scripts to trace the execution flow. Some of the common writings we include are adding pause, waiting for action, exporting task sequence variable values to a text file, etc.

Troubleshooting: Watch the events, Task sequence variables, and logs when the task sequence is in action

Testing time: If the task sequence fails, we have to start all over again. We do not have any control if the task sequence fails. This includes a manual copy of the logs to an external disk and analysis.

Prerequisites – SCCM Task Sequence Debugger

Let’s check prerequisite checks for the SCCM Task Sequence Debugger feature.

  • Task Sequence Debugger feature enabled.
    • Go to Administration / Updates and Servicing / Features
    • Right-click and select Turn-on on the Task Sequence Debugger feature
  • Logged in user should be a member of the Local Administrators group
  • SCCM server version 1906 and above
  • Updated SCCM client and boot image

How to enable Task sequence Debugger?

As shown below Task sequence debugger is an inbuilt tool with an SCCM agent. There is no need to add this tool. We need to trigger the device to launch along with the Task Sequence.

SCCM Task Sequence Debugger
SCCM Task Sequence Debugger

In the case of Win PE, You can find the tool within X:\SMS\bin\x64

WinPE Task Sequence Debugger SCCM Task Sequence Debugger
SCCM Task Sequence Debugger

Option 1: Task Sequence Debug deployment

We can trigger the Task Sequence debugger in 2 ways. Option 1: Debug deployment.

  • · Navigate to Software Library / Operating Systems / Task Sequences
  • · Right-Click the Task Sequence. Select Debug in the menu and deploy
enable Task Sequence Debugger
Option 1: Task Sequence Debug deployment

Note 1: You cannot deploy the debug mode Task Sequence to collections that have more than ten computers. SCCM will automatically hide the groups with computers of more than 10.

Note 2: you cannot deploy debug Task Sequence in “Required” mode. Only “available” deployment mode is supported.

Note 3: if you deploy normal and debug deployment to the same computer, the Debugger tool may not work.

Option 2: Variables – SCCM Task Sequence Debugger

Enable SCCM variable “TSDebugMode”. You can set this variable for a particular machine or the entire collection. Below shown is the collection variable.

Task Sequence Debugger TSDebugMode
Option 2: Variables – SCCM Task Sequence Debugger

As shown below, I prefer setting the variable at the device level instead of collecting variables because I know exactly which are my test device in SCCM.

device property Task Sequence Debugger variable
Option 2: Variables – SCCM Task Sequence Debugger

Please do not enable the debug mode variable on collections that include end-user computers. End-user is not required to see the tool.

How to use the Task Sequence Debugger Tool

Now let us discuss the different controls available in the debugger tool

Task Sequence Debugger controls
How to use the Task Sequence Debugger Tool
  1. Step: This will execute one step at a time. After one step, TS will stop. After each step, you will get the opportunity to check the logs, variables, etc.
  1. Run: This will allow your Task sequence to execute normally without Debugger tool controls.
  1. Set current: This allows you to jump or move the control of the task sequence step to another step you want. You do not need to re-run the entire TS. This allows a lot of flexibility while troubleshooting. you can identify the current step with symbol ( ==>> ) as shown in below picture.

Set break: This allows you to set stop points in the Task sequence. The task sequence will execute until the step where we put the breakpoint. It will not proceed further until we release the break. This is useful when you suspect a particular stage in the Task sequence is causing an issue.

As shown below, TS will proceed till the step marked STOP and halts there. You can set multiple breakpoints in the TS. The action that the Task sequence is currently executing will be displayed as (==>>)

How to Troubleshoot SCCM Task Sequence Debugger 1

Note: After restart, all the breakpoint configured removes automatically. However, a Task sequence will pause after any restart Task Sequence. So you can set back the breakpoint.

  1. Clear all breaks: This removes all breaks, which you set earlier.
  1. Logfile: This launches the SMSTS log with the Cmtrace log viewer.
  1. Cmd prompt: This will launch the command prompt support. This is helpful when you want to check external dependencies like IP address, DNS, network, etc.
  1. Cancel: This will stop both Task Sequence and debugging tools.
  1. Quit: This will quit only the debugger tool. However, the Task sequence will resume in normal mode.

How to launch TS debugger only when TS fails

You can use the task sequence variable “TSDebugOnError” to launch the Debugger tool only when the task sequence fails. If you use the “TSDebugOnError” variable, you do not have to define the other variable “TSdebugmode”.

TSDebugOnError

The “TSDebugOnError” variable is added in SCCM version 1910. If the task sequence fails due to some reason you can still take control of the Task sequence and play with it using the Debugger tool.

Conclusion:

This tool is primarily meant for debugging. But I think this tool also helps to improve Task sequence logic, scripts, design, and performance, reduce reboots, etc.

In the future, let’s hope Microsoft adds more capabilities like automatic recommendations based on insights for the task sequence.

Start using the Task Sequence debugger tool if you have not yet started.

Resources

Author

Anoop C Nair is Microsoft MVP! He is a Device Management Admin with more than 20 years of experience (calculation done in 2021) in IT. He is Blogger, Speaker, and Local User Group HTMD Community leader. His main focus is on Device Management technologies like SCCM 2012, Current Branch, and Intune. He writes about ConfigMgr, Windows 11, Windows 10, Azure AD, Microsoft Intune, Windows 365, AVD, etc.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.