Watching Michael Neihaus is always an interesting experience. You can bet that you’ll be watching a least a few progress bars while he fills in random facts about operating system deployment. And you can also bet that his presentation will include at least one connection failure to his demo environment. Nevertheless, Michael’s canny humor easily deflects any chance of demo mishap. In this presentation he talks about a small side project that he will soon be introducing to the public, which is a set of scripts that allow you to walk through a task sequence and view the commands and variables along the way at your own pace.

The task sequence engine parent process, TSManager.exe, doesn’t have any knowledge about what any of the underlying task sequence commands do. So Michael is able to attach a command line debugger to the WinPE and Windows phases of the deployment process using a script called InsideTSAttach.wsf. The InsideTSAttach.wsf script changes the visual part of the deployment windows and offers tabs for viewing the current state of all the MDT variables along with the exact command in execution. The process works by setting a breakpoint after each child process from TSManager.exe completes. And as the process breaks, you can use this pause interval to retrieve any of the information you need about the task sequence step. From there you issue a "go" command to the debugger to resume task sequence execution. While in breakpoint state, you can even change a variable to directly affect your MDT deployment during the middle of a task sequence step (i.e. using the command TSenv.exe "variable=value").

It’s important to note that Michael does not have a lot of time to polish this project. So if and when he does release this script, you may be expected to do a little hacking to get things working. However, if you’re are the curious type and would like to understand more about what takes place inside a task sequence, then you should follow Michael’s twitter, @mniehaus, and be on the lookout for this interesting tool!