MDT 2010 New Feature #20: General Purpose ConfigMgr wizard
In MDT 2008, we provided unknown computer support for ConfigMgr 2007, since it didn’t provide that capability – you first had to import new computers into the ConfigMgr database before you could install an OS, so MDT helped automate that process. When ConfigMgr 2007 R2 was released, it included unknown computer functionality, so we have now removed most of that from MDT 2010.
One of the useful parts of this unknown computer process was a pre-execution hook that would run a wizard, leveraging the same wizard framework that we used for MDT 2010 Lite Touch deployments. This was useful because we provided all the pieces to make it work: the TSCONFIG.INI file that tells ConfigMgr what to run, the script that gets executed by ConfigMgr (referenced in TSCONFIG.INI), the rules processing logic to gather information from WMI and other data sources, and the wizard files themselves.
With MDT 2010, we’ve left these pieces in place, but set them up to do something more basic: prompt for a new computer name. This is provided as a sort of general purpose “sample”, showing how to hook this into ConfigMgr. While you might not find the sample particularly useful, you can edit the wizard definition (using Notepad or something like the MDT Wizard Editor, http://mdtwizardeditor.codeplex.com/) to add additional panes.
All the files related to this general purpose sample are located in the “C:\Program Files\Microsoft Deployment Toolkit\SCCM” directory:
- ZTIMediaHook.wsf. This is the pre-execution hook script that drives the whole process (gathering information from WMI and other sources, then displaying the wizard).
- Deploy_SCCM_Definition_ENU.xml. This file defines the wizard itself, which by default has one pane that asks for the computer name.
- Deploy_SCCM_Scripts.vbs. This file contains the initialization and validation scripts called by the wizard pane (which don’t do much in this case).
- TSConfig.ini. This file gets added to the boot image and tells ConfigMgr to run the ZTIMediaHook.wsf script.
So if you wanted too do some customization, the files you would want to change are the “Deploy_SCCM_Definition_ENU.xml” (to add or change wizard panes) and “Deploy_SCCM_Scripts.vbs” (to specify additional initialization or validation logic).
To actually get these pieces added into a boot image, you can check the “Add media hook files to enable the Deployment Wizard for this boot media” checkbox when running either the “Create Boot Image using Microsoft Deployment” wizard (which creates only new boot image which you would then need to configure the task sequence and ISOs to use) or the “Create Microsoft Deployment Task Sequence” wizard (which can create a new boot image as part of the task sequence creation process).
Booting from this boot image, you should see a wizard that looks like this:
You can then specify the computer name you want, which will set the OSDComputerName task sequence variable. Like I said, pretty simple, but provided as a starting point for your own customizations – just edit the XML and VBS files, create a new boot image, and then deploy. (Remember that all of these files are actually embedded in the boot image WIM file, so when you make changes you either need to create a new boot image or mount the existing one to change those files. Update the distribution points after making changes.)
I’ve also attached a short video that shows the startup process (including the initial ConfigMgr wizard screen that can be used for specifying static IP information and for typing in the media password).