Here’s a quick suggestion for speeding up MDT-created task sequences in ConfigMgr 2007 or ConfigMgr 2012:
Not surprisingly, that will remove a 30-second delay from the execution. (Why is that in there? Beats me. I remember who put it in there – it wasn’t me – and I remember discussing it, but the logic behind it escapes me now as it did then.)
So will this cut 30 seconds out of your deployment? For refresh deployments, yes; for bare metal deployments, it will cut 60 seconds from the deployment process. So let’s explore that “Use Toolkit Package” step (the one that runs ZTISCCM.wsf behind the scenes) in more detail. It has a single purpose: It takes the contents of the MDT toolkit package (scripts, tools, etc.) and makes a copy of them on the local hard disk, setting various task sequence variables (DeployRoot, ScriptRoot, ToolRoot, etc.) to let us keep track of where they are. As a result of this, we don’t need to download them for every single step. But we do typically need to download them more than once. For example:
So you’ll see a variety of “Use Toolkit Package” steps in the task sequence. In MDT 2010 Update 1, all of these executed. In MDT 2012, we added some conditions to the “Use Toolkit Package” steps so that they only execute when necessary. So when are they necessary? Any time the variables (DeployRoot, ScriptRoot, ToolRoot, etc.) aren’t valid. So the condition was added to say “If not %ScriptRoot% exists”. That way, the step is skipped when it isn’t needed.
In typical bare metal deployments, the step will run two or three times (with the 30-second delay happening twice). In typical refresh deployments, the step will still run two or three times but in different times in the task sequence (with the 30-second delay only happening once).