Thursday, 31 July 2008

Advanced Task Sequencing

The latest blog entry from The Deployment guys, Task Sequence logic tricks using MDT variables got my attention as this has quite a lot to do with what we have been working on. The concept of using variable to manage the logical flow of task sequences is not new but when exploited well can be a very effective way of managing different builds with the same, single task sequence.
Personally I find this approach cumbersome and potentially fraught with issue, especially if the logic gets messed up somewhere. What happens when you want to change the logic or are forced to change the logic due to initial design issues? You will need to rebuild the task sequence from scratch. From experience, something much more flexible and customizable is required and that is why I have been developing the Advanced Task Sequencing Toolkit.
In the last few months, I have designed and developed a new concept in task sequence development which fundamentally allows “object oriented” development of task sequences through the use of inter-linking sequences in SCCM 2007. What exactly is this? Well, it is a framework that allows you to "link" different task sequences, I call them "mini-sequences", into a "master-sequence". The master is then compiled into a usable task sequence.

The ATS Toolkit is currently an internal beta at Dimension Data so I cannot publicly share it or go into too much detail about how it all works but I would like to let people know what I have been working on. In this post, I will provide you with an overview of the custom actions and in a later post show you how we put our task sequences together.

The ATS Toolkit contains additional SCCM 2007 custom actions and console right-click actions which build the framework for advanced and complex task sequence development. Here is an overview of the 8 custom actions:

ATS Toolkit Setup

The toolkit setup performs a similar function to the MDT 2008, Use MDT Package, custom action but the ATS Setup Action has a LOT more going on under the hood. The Setup action has the ability to store ATS task sequence variable via an additional "Variables" tab. More on this in further posts. Here is a sneak peak.

ATS Debugging Tools

The ATS Debugging tools action is used to provide various debugging capabilities from within the Advanced Task Sequence. The most commonly used debugging features are task sequence variable dumps, sleeps and opening a command prompt when required.


This is a personal favourite of mine. The ATS SYNC Event allows you to pause a task sequence and wait for an action to have occurred on another system being built. This is a fundamental component of building complex server environments and a primary component of the ATS Toolkit.

ATS Task Sequence Link

Part of the “object oriented” approach to Advanced Task Sequence development, the ATS Sequence Linker is used to identify linked “mini-sequences” within the “main / master” sequence. This custom action is also a major component of the ATS Toolkit. You can see this in action in further posts.

ATS Task Sequence Variables

A nifty little custom action that allows you to set as many variables as you like, all within the single custom action. This custom action is also responsible for variable validation and hierarchical management of variables during task sequence linking. All these components fit together to do some real interesting things with task sequencing. More on this later too...

ATS Registry Editor

Created more out of frustration that the default task sequence custom actions do not have an easy way to edit the registry. The ATS Registry Editor has proved to be one of my most valuable tools in the Toolkit as modifying registry settings any other way is painful. Anyone wants to have a library of pre-created custom actions with registry settings to do a whole bunch of things? I do.

ATS Advanced Script Launch

The ATS Advanced Script Launch is able to automatically extract variables from scripts selected from the ATS Toolkit package. Variables are automatically presented to the user which allows for system independent transfer of scripts from one SCCM environment to another, safe in the knowledge that other administrators can use it without knowing which variables are required to get the script to run. Useful and I like it.

ATS Dynamic Script

Script on the fly anyone? How would you like to be able to create a neat script and just copy and paste it into an action that will be executed on the target machine? What about a library of pre-created custom actions with various capabilities, ready to do your bidding? Currently, you would need to create the script file, package it up and use run command line or something else to get it to work.

I hope you have enjoyed this little overview of the custom actions. The next post will be looking at the right-click console actions, the real processes that bring the framework together and will demonstrate the advanced capabilities by fully automating a complex environment.

No comments: