Integrating Microsoft Deployment Toolkit 2010 Update 1 With System Center Configuration Manager 2007 SP2/R2 – Part 3 “Task Sequences”
This will be a quick-start guide for integrating MDT 2010 Update 1 with ConfigMgr SP2/R2. This information is provided as-is. Part 1 covers the installation and integration with ConfigMgr. I will cover the specific integrations within ConfigMgr in Part 2 "Boot Images" and Part 3 (this post).
Creating a Microsoft Deployment Toolkit based Task Sequence
Once the Microsoft Deployment Toolkit has been integrated with the ConfigMgr console, you will have a new option to create a MDT based Task Sequence.
Upon selecting “Create Microsoft Deployment Task Sequence”, a wizard will launch that will walk you through the creation of the Task Sequence and required components.
The first screen allows for selection of the Task Sequence template:
There are 7 Task Sequence templates available for selection:
- Task Sequence for client computers, including portable computers
- Client Replace
- Backs up the computer and then cleans the disk
- OEM Preload (Post-OEM)
- More or less obsolete with ConfigMgr R3, ConfigMgr R3 is a “nicer” way of doing this
- OEM Preload (Pre-OEM)
- More or less obsolete with ConfigMgr R3, ConfigMgr R3 is a “nicer” way of doing this
- Microsoft Deployment Custom
- Blank custom TS, contains only the following steps: Use Toolkit Package, Gather, Install Software
- Task Sequence for servers
- User Driven Installation
- See my posts on UDI
Lets select the “Client” template and click “Next”:
Next, we need to name the Task Sequence:
We’ll call this one “Windows 7 Demo TS”, then click on “Next”:
On the Details page, we can set the options for joining a workgroup or joining a domain (along with providing domain join credentials). We can also set the user name, organization name and product key.
I’ve changed the user to “Deployment User” and the organization to “Deployment Organization”. Since this is Windows 7 I’ve left the product key blank (I’m relying on KMS to activate this box once it’s imaged).
The next screen allows you to set some options if you were going to capture an image of the machine. This will let you set some properties for the image capture. We are going to a create a Task Sequence for deploying here and thus will not provide anything related to capture settings.
The next screen allows you to select an existing boot image (like the one we created in Part 2) or you can optionally create a new boot image, which will run through the process we used in Part 2 to create our MDT boot image. We will choose to use our existing image here.
Once we’ve selected our boot image, click “Next”:
Next we will need to create a MDT Toolkit Files package or select an existing one. The first time you create and MDT Task Sequence, you will have to create a MDT Toolkit package, after that, you can just choose an existing one.
If you have an existing package you’ve created before you can select that now.
If you have not completed the wizard before, then we will need to create a Toolkit package.
Select “Next” once you have put in the path for where you want to store your Toolkit Package.
On the MDT Details pane, we will need to provide a name for the ConfigMgr package we are creating, then click on “Next”:
The OS Image pane provides us with various options.
We can specify and exisiting image we’ve previously captured and imported into ConfigMgr:
We can create a new OS image if we import an image file we have previously capture:
We can specify an existing OS install package (source files) if we have previously imported these into ConfigMgr:
Or lastly, we can point the wizard to source files (local drive, network share, or DVD/CD) and create a new OS install Package in ConfigMgr:
For this walkthrough I’m going to use an existing OS image that I’ve previously imported into ConfigMgr and then select “Next”.
Next we need to specify and existing ConfigMgr client package (client source files for installation) or have MDT create a new ConfigMgr client package for us.
I’m going to have MDT create a ConfigMgr client package for me and then select “Next”.
Next we need to either specify an existing USMT package or have the wizard create a new USMT package for us. The wizard will create a USMT 4.0 package by default. If you are deploying XP and require USMT 3, you will want to select a USMT 3 package here that you have previously created in ConfigMgr.
Lets have the wizard create a USMT 4 package for us and then select “Next”.
Name the package appropriately and then select “Next”.
Next we have the Settings Package screen. Here is where we will create a Settings Package that will help drive our MDT Task Sequence.
Settings Packages contain the following files:
Set your source path for the Settings Package, and then click on “Next”:
Set the name of the ConfigMgr Package, and then click “Next”:
The next wizard screen is for specifying the Sysprep Package. If you are deploying XP/Server 2003, then you will want to create a new Sysprep Package and it will create a ConfigMgr package containing the require sysprep files for you. If you are working with Vista/Windows7/Server 2008, then a sysprep package is not required.
Finally, we have a summary screen showing all the options we have selected in the wizard:
Click on “Next to process the wizard and create the necessary packages. This process can take some time depending on how many packages you have to create and where the source/destination paths are located.
Once completed, you will have a completion screen showing that the process completed successfully.
Click “Finish” to exit the wizard:
Under Software Distribution – Packages, you will now see all the created packages:
You may have different names or more packages depending on the options you selected in the wizard.
If you imported any images or install packages, you will have those listed now as well:
Any package that was created will now need to be sent to the distribution points. Again, I will assume that you know how to do this already.
Keep in mind any time you make changes to any of the packages, you will have to update the distribution points to reflect those changes.
I recommend use of the Copy Packages wizard to copy the packages out to distribution points. This option is also available in the OS Images and OS Install Packages nodes as well.
Editing the Task Sequence
If you right-click on your newly created MDT Task Sequence and click “Edit”, you will now see that the MDT Task Sequence is quite a bit different from a ConfigMgr Task Sequence.
Some important steps to note that you will likely have to modify in the future are the following:
“Use Toolkit Package” – change this to reflect your Toolkit/Scripts package if you ever change or create a new one, this step exists in the following places:
- Preinstall – New Computer Only
- Install – Refresh Only
- State Restore
- Gather Logs and StateStore on Failure
“Gather” step under Initialization. This step is where you would define the “Settings” package you want to use to control rules, namely processing the CustomSettings.ini file.
“Apply Operating System Image” step under the “Install” phase. This is where you can specify the unattended or sysprep answer file contained in your “Settings” package.
A couple other common modifications you will want to make the to Task Sequence after it’s been completed are the following.
Disable the “backup” task. This task is located under Install – Refresh Only. This is enabled by default and will create an image of the machine you are refreshing (OS to OS), this adds a significant amount of time to the process.
By default the local administrator account is disabled in the Task Sequence.
We’ll want to enable this and set the appropriate password.
Set the appropriate Time Zone. By default the Time Zone is set to “Microsoft Time”.
If you didn’t set Domain properties in the wizard (like we didn’t in this example), but want to come back later and change this, you will want to go to Post Install – Apply Network Settings.
By default the customsettings.ini created in each “Settings” package you create will look like the following:
As you work with MDT more, you will probably end up adding some rules to process in here, along with database queries. Whenever you work with this file, keep in mind that you will have to update your package to the distribution points after making changes.
Resolving “Task Sequence cannot be run because the program files cannot be located on a distribution point”
One of the most common issues when working with Task Sequences is getting to this screen:
Either something failed to replicate out, or, not that it ever happens, we “might” have to forgot to distribute a package or two. There isn’t an easy mechanism to identify what packages are missing as this wizard will only give you one at a time, which can be quite frustrating if you are missing several.
There are 2 scripts provided by community members to help resolve the above error. The first script was created by Michael Niehaus and details can be found here. The second is by Jason Scheffelmaer and is based upon Michael Niehaus’s and can be found here.