<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>The Deployment Guys : ConfigMgr</title><link>http://blogs.technet.com/deploymentguys/archive/tags/ConfigMgr/default.aspx</link><description>Tags: ConfigMgr</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Approving Windows Updates in an MDT 2010 Standalone Environment from a ConfigMgr Software Update Point</title><link>http://blogs.technet.com/deploymentguys/archive/2009/10/22/approving-windows-updates-in-an-mdt-2010-standalone-environment-from-a-configmgr-software-update-point.aspx</link><pubDate>Thu, 22 Oct 2009 01:06:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3288304</guid><dc:creator>DeploymentGuys</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/deploymentguys/comments/3288304.aspx</comments><wfw:commentRss>http://blogs.technet.com/deploymentguys/commentrss.aspx?PostID=3288304</wfw:commentRss><wfw:comment>http://blogs.technet.com/deploymentguys/rsscomments.aspx?PostID=3288304</wfw:comment><description>You’ve no doubt read some of the benefits around using the Software Update Point features of ConfigMgr. However, if you are already using MDT standalone as an Image Engineering environment – there is sometimes a duplication in having to manage software...(&lt;a href="http://blogs.technet.com/deploymentguys/archive/2009/10/22/approving-windows-updates-in-an-mdt-2010-standalone-environment-from-a-configmgr-software-update-point.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3288304" width="1" height="1"&gt;</description><enclosure url="http://blogs.technet.com/deploymentguys/attachment/3288304.ashx" length="1498" type="application/x-zip-compressed" /><category domain="http://blogs.technet.com/deploymentguys/archive/tags/ConfigMgr/default.aspx">ConfigMgr</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Scripts/default.aspx">Scripts</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/MDT/default.aspx">MDT</category></item><item><title>Location Deployment Wizard for ConfigMgr 2007</title><link>http://blogs.technet.com/deploymentguys/archive/2009/08/17/location-deployment-wizard-for-configmgr-2007.aspx</link><pubDate>Mon, 17 Aug 2009 19:37:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3274244</guid><dc:creator>DeploymentGuys</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.technet.com/deploymentguys/comments/3274244.aspx</comments><wfw:commentRss>http://blogs.technet.com/deploymentguys/commentrss.aspx?PostID=3274244</wfw:commentRss><wfw:comment>http://blogs.technet.com/deploymentguys/rsscomments.aspx?PostID=3274244</wfw:comment><description>&lt;P&gt;When working on deployment projects, there is often a requirement for a workstation to be customised on a location by location basis. Common workstation customisations which are applied in this manner include: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Localisation settings (locales, keyboard settings, time zones, Windows (Windows Vista/Windows 7) language injection &lt;/LI&gt;
&lt;LI&gt;Domain membership/organisational unit join information &lt;/LI&gt;
&lt;LI&gt;Location based applications to be installed &lt;/LI&gt;
&lt;LI&gt;Site or location based administrator groups or accounts that need to added to the local administrators group &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The Microsoft Deployment Toolkit (MDT) and its accompanying database offers features to tailor a workstation based on its location during a deployment. The MDT Database allows locations to be defined and a set of location specific settings can be stored against each entry. When a workstation is been deployed, an MDT database lookup determines its location and collects the relevant build settings for that location. The location is determined by carrying out a lookup of the default gateway on the target workstations assigned NIC against default gateways assigned to locations in the MDT Database. To learn more about the Microsoft Deployment Toolkit and the database supplied with MDT see &lt;A title=http://technet.microsoft.com/en-us/solutionaccelerators/dd407791.aspx href="http://technet.microsoft.com/en-us/solutionaccelerators/dd407791.aspx" mce_href="http://technet.microsoft.com/en-us/solutionaccelerators/dd407791.aspx"&gt;http://technet.microsoft.com/en-us/solutionaccelerators/dd407791.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;During a mass deployment it is quite common for workstations to be built in central locations and then to be shipped to other sites for use. In these circumstances, the MDT Database location functionality&amp;nbsp;may not be as useful as any database location lookups will return settings for the site at which the workstations are being built and not the site to which the workstation will be eventually shipped. &lt;/P&gt;
&lt;P&gt;A solution to this is to&amp;nbsp;use a location deployment wizard when using the MDT Database along with System Center Configuration Management (ConfigMgr) 2007 Operating System deployments (OSD) in zero touch scenarios. A location deployment wizard is an HTA that is displayed to the user/build engineer at the start of the workstation deployment process to display the location in which they are currently situated. If the location is the site at which the workstation will be based they can click next and the deployment will continue applying all the deployment settings for that site. However, the wizard allows an “override” for the detected location and allow the user/build engineer to select another location from the MDT Database. Overriding the detected location will apply all of the selected location deployment settings from the MDT Database to the workstation despite it not being at that location. This solution allows workstations to be built in a central location whilst being fully customised for their destination locations.&lt;/P&gt;
&lt;P&gt;The location deployment wizard is an HTA that is stored in a customised ConfigMgr OSD boot image and is executed before a ConfigMgr task sequence starts. The HTA uses Operating System Media Pre-Execution Hooks (&lt;A href="http://technet.microsoft.com/en-us/library/bb694075.aspx" mce_href="http://technet.microsoft.com/en-us/library/bb694075.aspx"&gt;http://technet.microsoft.com/en-us/library/bb694075.aspx&lt;/A&gt;) to place itself before the task sequence window. The location deployment wizard allows inputs that are stored as a ConfigMgr task sequence variable. The location variable can then be used by a ConfigMgr deployment task sequence to recover settings from the MDT Database throughout the deployment (During ZTIGather phase).&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/LocationBasedWizardforConfigMgr2007_6F39/Location%20Wizard%2001_4.png" mce_href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/LocationBasedWizardforConfigMgr2007_6F39/Location%20Wizard%2001_4.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Location Wizard 01" border=0 alt="Location Wizard 01" src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/LocationBasedWizardforConfigMgr2007_6F39/Location%20Wizard%2001_thumb_1.png" width=398 height=372 mce_src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/LocationBasedWizardforConfigMgr2007_6F39/Location%20Wizard%2001_thumb_1.png"&gt;&lt;/A&gt; &lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/LocationBasedWizardforConfigMgr2007_6F39/Location%20Wizard%2002_6.png" mce_href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/LocationBasedWizardforConfigMgr2007_6F39/Location%20Wizard%2002_6.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Location Wizard 02" border=0 alt="Location Wizard 02" src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/LocationBasedWizardforConfigMgr2007_6F39/Location%20Wizard%2002_thumb_2.png" width=399 height=371 mce_src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/LocationBasedWizardforConfigMgr2007_6F39/Location%20Wizard%2002_thumb_2.png"&gt;&lt;/A&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;H4&gt;&lt;/H4&gt;
&lt;H4&gt;Pre-Requisites&lt;/H4&gt;
&lt;P&gt;The following pre-requirements should be configured in your deployment environment:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;System Center Configuration Management 2007 (RTM, SP1, R2 or SP2 beta) environment configured for OSD deployments. &lt;/LI&gt;
&lt;LI&gt;Microsoft Deployment Toolkit 2008 / MDT 2010 Workbench + Database hosted on Microsoft SQL 2005 or 2008 (Express / Standard / Enterprise) &lt;/LI&gt;
&lt;LI&gt;ConfigMgr 2007 console with integrated MDT console functions &lt;/LI&gt;
&lt;LI&gt;The MS SQL Database hosting the MDT Database should be configured to allow NamedPipes &lt;/LI&gt;
&lt;LI&gt;A share should be setup on the MDT Database server for authentication when using NamedPipes from a WinPE environment by using the SQLShare$ method. &lt;/LI&gt;
&lt;LI&gt;ConfigMgr “Network Access Account” should have db_datareader access to the MDT SQL Database &lt;/LI&gt;
&lt;LI&gt;Another AD account should be created which&amp;nbsp;is assigned&amp;nbsp;db_datareader access to the MDT Database. &lt;B&gt;Note This account will be stored in a plain text file in the ConfigMgr OSD Boot image. This account should be limited to just db_datareader access on the MDT SQL Server and denied all other rights on the domain&lt;/B&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;H4&gt;Location Deployment Wizard Setup Steps&lt;/H4&gt;
&lt;P&gt;Download the location deployment wizard attached to this post and extract the files to a temporary location on the computer/server which has a ConfigMgr 2007 Console with integrated MDT console functions. There are 4 components which need to be configured in your environment for this solution to operate:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Configure the Bootstap.ini file&lt;B&gt;&lt;/B&gt; &lt;/LI&gt;
&lt;LI&gt;Create a custom boot image&lt;B&gt;&lt;/B&gt; &lt;/LI&gt;
&lt;LI&gt;Configure Location settings in the MDT Database&lt;B&gt;&lt;/B&gt; &lt;/LI&gt;
&lt;LI&gt;Configure CustomSettings.ini file&lt;B&gt;&lt;/B&gt; &lt;/LI&gt;&lt;/OL&gt;
&lt;H5&gt;1. Configure the Bootstrap.ini file&lt;/H5&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;The Bootstrap.ini file contains the settings required by the Location Deployment Wizard to make the initial connection to the MDT Database. These settings need to be configured for your environment:&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Edit the Bootstrap.ini file in the &lt;B&gt;Location Deployment Wizard\LocationDeploymentWizard&lt;/B&gt; folder. This file is used by the location deployment wizard HTA to connect to the MDT Database for the first time:&lt;B&gt;&lt;/B&gt; 
&lt;UL&gt;
&lt;LI&gt;Replace &amp;lt;USERNAME&amp;gt; with the AD account created for reading the MDT Database in the pre-requirements e.g. CONTOSO\MDTDBReader&lt;B&gt;&lt;/B&gt; &lt;/LI&gt;
&lt;LI&gt;Replace &amp;lt;PASSWORD&amp;gt; with the password of the account entered above&lt;B&gt;&lt;/B&gt; &lt;/LI&gt;
&lt;LI&gt;Replace &amp;lt;SQL SHARE FOR AUTHENTICATION&amp;gt; with the name of a shared folder on the MDT Database server e.g. \\MDT01.contoso.com\SQLShare$&lt;B&gt;&lt;/B&gt; &lt;/LI&gt;
&lt;LI&gt;Replace &amp;lt;MDT DATABASE SEVER&amp;gt; with the fully qualified domain name of the MDT Database server e.g. mdt01.contoso.com&lt;B&gt;&lt;/B&gt; &lt;/LI&gt;
&lt;LI&gt;Replace &amp;lt;MDT DATABASE NAME&amp;gt; should be replaced with the instance name of the MDT Database in SQL e.g. MDTDB&lt;B&gt;&lt;/B&gt; &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;H5&gt;2. Create a custom boot image&lt;/H5&gt;
&lt;P&gt;During OSD deployments a WinPE boot image provides the environment for deploying a workstation. ConfigMgr 2007 provides default boot images in the &lt;B&gt;Operating System Deployment -&amp;gt; Boot Images &lt;/B&gt;node in the console. A new custom boot image needs to be generated containing the location deployment wizard HTA and its supporting files – this will execute when the boot image first loads on a workstation:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Create a new custom boot image in the ConfigMgr console using the “Create Boot Image Using Microsoft Deployment” wizard: &lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/LocationBasedWizardforConfigMgr2007_6F39/Location%20Wizard%2003_2.png" mce_href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/LocationBasedWizardforConfigMgr2007_6F39/Location%20Wizard%2003_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Location Wizard 03" border=0 alt="Location Wizard 03" src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/LocationBasedWizardforConfigMgr2007_6F39/Location%20Wizard%2003_thumb.png" width=531 height=419 mce_src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/LocationBasedWizardforConfigMgr2007_6F39/Location%20Wizard%2003_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;UL&gt;
&lt;LI&gt;Follow the wizard, selecting the default options. On the &lt;B&gt;Image Options&lt;/B&gt; page set the &lt;B&gt;Extra Folder to Add&lt;/B&gt; as the &lt;B&gt;Location Deployment Wizard&lt;/B&gt; folder which is found in the root of the files extracted earlier &lt;/LI&gt;
&lt;LI&gt;Complete the wizard selecting the default options. ConfigMgr/MDT will now create a new customised boot image with the location deployment wizard included. &lt;/LI&gt;
&lt;LI&gt;Assign the boot image to the OSD deployment task sequence that you wish to use the location deployment wizard with: &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/LocationBasedWizardforConfigMgr2007_6F39/Location%20Wizard%2004_2.png" mce_href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/LocationBasedWizardforConfigMgr2007_6F39/Location%20Wizard%2004_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Location Wizard 04" border=0 alt="Location Wizard 04" src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/LocationBasedWizardforConfigMgr2007_6F39/Location%20Wizard%2004_thumb.png" width=583 height=523 mce_src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/LocationBasedWizardforConfigMgr2007_6F39/Location%20Wizard%2004_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;H5&gt;3. Configure location settings in the MDT Database&lt;/H5&gt;
&lt;P&gt;Locations and their associated&amp;nbsp;settings need to be configured in the MDT SQL Database, these are typically configured through the interface in the&amp;nbsp;MDT workbench. In the MDT workbench go to the &lt;B&gt;Database&amp;nbsp;&amp;gt;&amp;gt; Locations Node&lt;/B&gt;. Here you can add as many different locations as are required for your environment.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;For a location to be available to the location deployment wizard it must be assigned at least one default gateway. This can be found in a locations properties on the &lt;B&gt;Identity&lt;/B&gt; tab. &lt;/LI&gt;
&lt;LI&gt;If no default gateways for a site are initially known then assign 0.0.0.0 as the default gateway for that location. Although this site will never be automatically detected by the location build wizard, it can be manually selected. &lt;/LI&gt;
&lt;LI&gt;In the &lt;B&gt;Details &lt;/B&gt;tab of a locations properties use the &lt;B&gt;SERVERA &lt;/B&gt;property&amp;nbsp;to populate sites or country e.g. UK. This is used by the location deployment wizard to break down the locations so there is not just one long list: &lt;/LI&gt;
&lt;LI&gt;Populate any other deployment site settings as required for your deployment including locales, time zones, keyboard settings, UI Language, location specific apps and location specific admins. &lt;/LI&gt;&lt;/UL&gt;
&lt;H5&gt;4. Configure CustomSettings.ini file&lt;/H5&gt;
&lt;P&gt;The CustomSettings.ini (&lt;A href="http://technet.microsoft.com/en-us/library/bb977690.aspx" mce_href="http://technet.microsoft.com/en-us/library/bb977690.aspx"&gt;http://technet.microsoft.com/en-us/library/bb977690.aspx&lt;/A&gt;) is a rules file which is used to automate deployments and setup how to query settings from the MDT Database. The location deployment wizard has its own CustomSettings.ini which is used during Gather phases in a ConfigMgr task sequence to retrieve location settings from the MDT Database. The CustomSettings.ini file included in the supplied location deployment wizard must be customised to your environment:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Edit the CustomSettings.ini file located in the root of the extracted files. The customsettings.ini file is a rules file is used by the MDT script ZTIGather.wsf to gather all of the location based settings from an MDT database:&lt;B&gt;&lt;/B&gt; 
&lt;UL&gt;
&lt;LI&gt;All instances of &amp;lt;FQDN MDT DATABASE&amp;gt; should be replaced with the fully qualified domain name of your MDT Database server e.g. mdt01.contoso.com&lt;B&gt;&lt;/B&gt; &lt;/LI&gt;
&lt;LI&gt;All instances of &amp;lt;MDT DATABASE NAME&amp;gt; should be replaced with your MDT Database name in SQL e.g. MDTDB&lt;B&gt;&lt;/B&gt; &lt;/LI&gt;
&lt;LI&gt;All instances of &amp;lt;AUTHENTICATION SHARENAME&amp;gt; should be replaced by your shared folder name on the MDT Database server e.g. SQLShare$&lt;B&gt;&lt;/B&gt; &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;Once the customsettings.ini file has been updated it should be wrapped up into a ConfigMgr package (typically this is the MDT Settings package) and sent to all distribution points on your network which will be used for OSD. This rules package must be used by all Gather phases in your MDT integrated deployment task sequence to gather location settings from the MDT Database.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Disclaimer: The information on this site is provided "AS IS" with no warranties, confers no rights, and is not supported by the authors or Microsoft Corporation. Use of included script samples are subject to the terms specified in the &lt;/STRONG&gt;&lt;A href="http://www.microsoft.com/info/cpyright.mspx" mce_href="http://www.microsoft.com/info/cpyright.mspx"&gt;&lt;STRONG&gt;Terms of Use&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt;.&lt;/STRONG&gt;&lt;EM&gt; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;This post was contributed by &lt;/EM&gt;&lt;I&gt;&lt;STRONG&gt;Mark Hooks and Richard Smith,&lt;/STRONG&gt; c&lt;/I&gt;&lt;EM&gt;onsultants with Microsoft Services – U.K.&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3274244" width="1" height="1"&gt;</description><enclosure url="http://blogs.technet.com/deploymentguys/attachment/3274244.ashx" length="69806" type="application/x-zip-compressed" /><category domain="http://blogs.technet.com/deploymentguys/archive/tags/ConfigMgr/default.aspx">ConfigMgr</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Configuration+Manager/default.aspx">Configuration Manager</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Scripts/default.aspx">Scripts</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Utilities/default.aspx">Utilities</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/MDT/default.aspx">MDT</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Windows+7/default.aspx">Windows 7</category></item><item><title>Persisting ConfigMgr Packages during a Task Sequence</title><link>http://blogs.technet.com/deploymentguys/archive/2009/07/17/persisting-configmgr-packages-during-a-task-sequence.aspx</link><pubDate>Fri, 17 Jul 2009 17:30:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3265708</guid><dc:creator>DeploymentGuys</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/deploymentguys/comments/3265708.aspx</comments><wfw:commentRss>http://blogs.technet.com/deploymentguys/commentrss.aspx?PostID=3265708</wfw:commentRss><wfw:comment>http://blogs.technet.com/deploymentguys/rsscomments.aspx?PostID=3265708</wfw:comment><description>&lt;P&gt;The MDT Task Sequences for System Center Configuration Manager 2007 use a clever technique to download and persist the MDT Files package during each phase of the Task Sequence.&amp;nbsp; The Use Toolkit Package step uses the ZTISCCM.wsf script to copy the contents of the package to a WDPackage subfolder of the _SMSTaskSequence folder.&amp;nbsp; The Task Sequencer maintains this folder (the path of which is held in the _SMSTSMDataPath variable) for holding the logs and downloaded package contents.&amp;nbsp; So the WDPackage folder will continue to exist until the next reboot.&amp;nbsp; MDT places the path to the WDPackage folder in the DeployRoot variable.&lt;/P&gt;
&lt;P&gt;Doing this prevents repeated download of the MDT Files every time the execution of an MDT script is needed.&amp;nbsp; My customer wanted to be able to used the same technique for their custom scripts.&amp;nbsp; They maintain a package of custom scripts so that they are not mixed in with the MDT scripts.&amp;nbsp; This will allow them to update/replace the MDT Files package as needed without having to worry about their custom scripts.&lt;/P&gt;
&lt;P&gt;One way of doing this would be to simply create a Run Command Line step (after the Use Toolkit Package step) that simply does an xcopy of the files/folder in the package to either DeployRoot or ScriptRoot or a subfolder of those paths.&amp;nbsp; You can then call your scripts relative to the DeployRoot or ScriptRoot variable.&lt;/P&gt;
&lt;P&gt;I wanted to provide my customer with maximum flexibility for this so I created a custom script called ZTI-PersistSccmPackage.wsf.&amp;nbsp; This script should be copied to the root of the package along with a copy of the MDT script ZTIUtility.vbs.&amp;nbsp; The command has the following syntax:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;cscript ZTI-PersistSccmPackage.wsf /pathvar:&amp;lt;path variable name&amp;gt; /xcopy:"&amp;lt;additional xcopy switches&amp;gt;"&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;The /pathvar switch sets the name of the variable the can be used to reference the path to the persisted files.&amp;nbsp; If you specify a variable name that is either DeployRoot, ScriptRoot, or ToolRoot, the script will copy the contents of the package to the corresponding location in the WDPackage folder created by the Use Toolkit Package step.&amp;nbsp; If you specify any other variable name, the script will create a randomly named folder in the _SMSTSMDataPath location, copy the contents of the package to that folder, and set a Task Sequence variable pointing to that folder path with the variable name specified with the /pathvar switch.&amp;nbsp; For example, if you had a package of custom scripts you wanted to persist in their own folder, you would could run the script like this:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;cscript ZTI-PersistSccmPackage.wsf /pathvar:CustomScriptRoot&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;You could then reference your scripts using the CustomScriptRoot variable.&amp;nbsp; For example, if the package contained a script called MyScript.wsf you could run it from a Run Command Line step using the following syntax without having to add the package to the step:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;cscript "%CustomScriptRoot%\MyScript.wsf"&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;The optional /xcopy switch is used to specify additional switches for the xcopy command.&amp;nbsp; By default, the script uses xcopy with the following switches: /s /e /h /y /c.&amp;nbsp; For example, if you wanted to add the /d switch to filter the copy by date or add the /exclude switch to exclude files from the copy, you would specify those using the /xcopy switch.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Disclaimer: The information on this site is provided "AS IS" with no warranties, confers no rights, and is not supported by the authors or Microsoft Corporation. Use of included script samples are subject to the terms specified in the &lt;/STRONG&gt;&lt;A href="http://www.microsoft.com/info/cpyright.mspx" mce_href="http://www.microsoft.com/info/cpyright.mspx"&gt;&lt;STRONG&gt;Terms of Use&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt;.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;This post was contributed by &lt;B&gt;Michael Murgolo,&lt;/B&gt; a Senior Consultant with Microsoft Services - U.S. East Region.&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3265708" width="1" height="1"&gt;</description><enclosure url="http://blogs.technet.com/deploymentguys/attachment/3265708.ashx" length="2141" type="application/x-zip-compressed" /><category domain="http://blogs.technet.com/deploymentguys/archive/tags/SCCM+2007/default.aspx">SCCM 2007</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/ConfigMgr/default.aspx">ConfigMgr</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/MDT/default.aspx">MDT</category></item><item><title>Single WIM Deployment of Windows XP Professional and Tablet PC Edition (and Other Operating Systems)</title><link>http://blogs.technet.com/deploymentguys/archive/2009/07/13/windows-xp-professional-and-tablet-pc-edition-deployment-with-a-single-wim.aspx</link><pubDate>Mon, 13 Jul 2009 22:55:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3107515</guid><dc:creator>DeploymentGuys</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/deploymentguys/comments/3107515.aspx</comments><wfw:commentRss>http://blogs.technet.com/deploymentguys/commentrss.aspx?PostID=3107515</wfw:commentRss><wfw:comment>http://blogs.technet.com/deploymentguys/rsscomments.aspx?PostID=3107515</wfw:comment><description>&lt;P&gt;&lt;STRONG&gt;Update 2009-07-17:&lt;/STRONG&gt; Corrected some errors in the application settings in the&amp;nbsp;&lt;STRONG&gt;Extracting the Sysprep Files&lt;/STRONG&gt; section&amp;nbsp;that occured because I did not make all necessary changes after doing a copy/paste.&lt;/P&gt;
&lt;P&gt;--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;In my &lt;A href="http://blogs.technet.com/deploymentguys/archive/2008/08/03/implementing-the-windows-xp-tablet-pc-edition-2005-single-image-deployment-supplemental-guide-process-in-mdt-2008-full-update.aspx" target=_blank&gt;post&lt;/A&gt; on August 3 2009, I promised in an upcoming post I would show you how to create a single WIM file that contains several XP images with a single MDT Lite Touch Task Sequence (rerun four times).&amp;nbsp; Additionally, I said that I would show you how you can deploy these images from that WIM file onto the correct target hardware using either a single MDT Lite Touch Task Sequence or a single MDT Zero Touch Task Sequence in SCCM.&amp;nbsp; Well, that day is finally here!&lt;/P&gt;
&lt;H4&gt;Image Build: MDT Setup&lt;/H4&gt;
&lt;P&gt;For building and capturing images, I prefer to use the MDT Lite Touch process over Systems Center Configuration Manager 2007.&amp;nbsp; You have more control over the process, you can have tasks with a visible UI for testing and troubleshooting, and since the Task Sequencer runs as the built-in Administrator account you can configure settings that can get propagated to Default User settings.&amp;nbsp; So the process I'm about to describe will only use MDT Lite Touch for building and capturing images into the single WIM file.&amp;nbsp; Also, everything I describe in the post was done with MDT 2008 Update 1.&amp;nbsp; Once MDT 2010 has released or is close to releasing, I’ll blog what, if any, changes are necessary.&lt;/P&gt;
&lt;P&gt;As I described in the August 3rd post, the "Single Image" process for XP Pro/Tablet PC Edition will not be supported for Service Pack 3.&amp;nbsp; Because of this, I moved my current customer's XP deployment process back to separate images.&amp;nbsp; Since they have to support hardware that requires both types of XP ACPI HALs, this deployment process required four XP Images:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Windows XP Professional with ACPI Uniprocessor HAL (APIC HAL) &lt;/LI&gt;
&lt;LI&gt;Windows XP Tablet PC Edition 2005 with ACPI Uniprocessor HAL (APIC HAL) &lt;/LI&gt;
&lt;LI&gt;Windows XP Professional with Advanced Configuration and Power Interface (ACPI) PC HAL (PIC HAL) &lt;/LI&gt;
&lt;LI&gt;Windows XP Tablet PC Edition 2005 with Advanced Configuration and Power Interface (ACPI) PC HAL (PIC HAL) &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;If you only require a subset of these images (perhaps you don’t need to support Tablet PCs or PIC hardware, etc.), you can modify the steps that follow accordingly.&lt;/P&gt;
&lt;P&gt;Using traditional sector-based imaging tool supporting four images would require four times the disk storage and four times the WAN traffic to replicate those images around.&amp;nbsp; However, using file-based WIM images that can take advantage of "single instance storage" that allows you to store all four of these images in a single WIM file that will only be slightly larger than any single image.&lt;/P&gt;
&lt;P&gt;All of the above images can be generated from a single MDT Task Sequence by simply running it four times on either the correct computer hardware or by using the correct XP Product Key.&amp;nbsp; Unfortunately, if you try this with MDT 2008 “out of the box”, the process will fail during the attempt to capture the second image.&amp;nbsp; This is because the MDT 2008 script that does the image capture, ZTIBackup.wsf, is hard-coded to use an image name of the format &lt;EM&gt;&amp;lt;TaskSequenceID&amp;gt;&amp;lt;drive letter&amp;gt;Drive&lt;/EM&gt; (e.g. XPPROSP2CDrive).&amp;nbsp; Since an image name must be unique within a WIM file, when ZTIBackup.wsf tries to append the next image with the same image name, it fails.&amp;nbsp; Therefore, to capture four image into on WIM with MDT 2008 as is you would need four identical Task Sequences.&amp;nbsp; And you would need to remember to specify the same WIM file in the deployment wizard when each Task Sequence.&lt;/P&gt;
&lt;P&gt;So to work around this limitation, I created a custom version of ZTIBackup.wsf (with the exciting name of ZTIBackupCustom.wsf).&amp;nbsp; With this version you can specify the image name prefix (the part before &lt;EM&gt;&amp;lt;drive letter&amp;gt;Drive&lt;/EM&gt;) using either a command line switch, /nameprefix, or a custom property, ImageNamePrefix.&amp;nbsp; I used this script instead of ZTIBackup.wsf in the Create WIM step in the Task Sequence.&amp;nbsp; Using only this change worked well but imposed the limitation the each run of the Task Sequence had to complete before starting the next.&amp;nbsp; Also, all the runs had to be completed in the proper order so that the image index in the WIM would come out the same each time.&lt;/P&gt;
&lt;P&gt;To get around this limitation, I changed the BackupFile MDT property (which holds the WIM file name) for each run of the Task Sequence so that each run created a different WIM file.&amp;nbsp; I then created a script that uses imagex /export to combine all the WIM files in to a single WIM.&amp;nbsp; This allows you to run the build in any order (even all at once) and re-run those that fail if needed.&lt;/P&gt;
&lt;H5&gt;OS Installation Media&lt;/H5&gt;
&lt;P&gt;You will need to assemble and import the XP SP2-integrated media as I described in my &lt;A href="http://blogs.technet.com/deploymentguys/archive/2008/08/03/implementing-the-windows-xp-tablet-pc-edition-2005-single-image-deployment-supplemental-guide-process-in-mdt-2008-full-update.aspx" target=_blank&gt;post&lt;/A&gt; on August 3 2009. &lt;/P&gt;
&lt;H5&gt;CustomSettings.ini&lt;/H5&gt;
&lt;P&gt;To control what edition of XP gets install, what image name prefix gets used, what BackupFile name is used, etc. I used MAC Address sections in CustomSettings.ini.&amp;nbsp; Doing it this way requires four computers with different MAC Addresses.&amp;nbsp; (I used Hyper-V and Virtual Server virtual machine as my build machines so that I didn’t need to be bothered with CD or PXE booting physical machines, but this process will work either way.&amp;nbsp; I used Hyper-V to build the APIC HAL images and needed Virtual Server to build the PIC HAL images.)&amp;nbsp; Here is what the CustomSettings.ini looks like:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;[Settings] &lt;BR&gt;Priority=Default, MACAddress, Finish &lt;BR&gt;Properties=MyCustomProperty, CapturedImageIndex, ImageNamePrefix, CompletionFile, BackupFile &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;[Default] &lt;BR&gt;OSInstall=Y &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;OrgName=Contoso &lt;BR&gt;_SMSTSORGNAME=Contoso &lt;BR&gt;SLShare=%DeployRoot%\Logs &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;SkipAppsOnUpgrade=YES &lt;BR&gt;SkipDeploymentType=YES &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DeploymentType=NEWCOMPUTER &lt;BR&gt;SkipComputerName=YES &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;ComputerName set in MACAddress sections &lt;BR&gt;SkipDomainMembership=Yes &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; JoinWorkgroup=Workgroup &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;JoinDomain &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;DomainAdmin &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;DomainAdminDomain &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;DomainAdminPassword &lt;BR&gt;SkipUserData=yes &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UserDataLocation=NETWORK &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;UDDir &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;UDShare &lt;BR&gt;SkipComputerBackup=Yes &lt;BR&gt;SkipBuild=YES &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;BuildID set in MACAddress sections &lt;BR&gt;SkipTaskSequence=YES &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;TaskSquenceID set in MACAddress sections &lt;BR&gt;SkipProductKey=YES &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;ProductKey &lt;BR&gt;SkipPackageDisplay=YES &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;LanguagePacks &lt;BR&gt;SkipLocaleSelection=Yes &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UserLocale=en-us &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; InputLocale=en-us &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KeyboardLocale=en-us &lt;BR&gt;SkipTimeZone=Yes &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TimeZone=35 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TimeZoneName=Eastern Standard Time &lt;BR&gt;SkipApplications=YES &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;Applications &lt;BR&gt;SkipAdminPassword=YES &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; AdminPassword=* &lt;BR&gt;SkipCapture=YES &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DoCapture=YES &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ComputerBackupLocation=%DeployRoot%\Captures &lt;BR&gt;SkipBitLocker=YES &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;BDEDriveLetter &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;BDEDriveSize &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;BDEInstall &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;TPMOwnerPassword &lt;BR&gt;SkipSummary=YES &lt;BR&gt;SkipFinalSummary=NO &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;[00:15:5D:11:AF:FF] &lt;BR&gt;; Vista x86 &lt;BR&gt;BuildID=Vistax86SP1 &lt;BR&gt;TaskSquenceID=Vistax86SP1 &lt;BR&gt;CapturedImageIndex=1 &lt;BR&gt;ComputerName=vx86sp1%HALNAME% &lt;BR&gt;WsusServer=&lt;/FONT&gt;&lt;A href="http://mdtserver/"&gt;&lt;FONT face="Courier New"&gt;http://MDTSERVER&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;[00:15:5D:11:AF:FE] &lt;BR&gt;; XP Pro APIC HAL &lt;BR&gt;BuildID=XPSP3 &lt;BR&gt;TaskSquenceID=XPSP3 &lt;BR&gt;CapturedImageIndex=1 &lt;BR&gt;ComputerName=xppro%HALNAME% &lt;BR&gt;ProductKey=11111-22222-33333-44444-55555 &lt;BR&gt;WsusServer=&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;http://MDTSERVER&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;[00:15:5D:11:AF:FD] &lt;BR&gt;; XP Tablet APIC HAL &lt;BR&gt;BuildID=XPSP3 &lt;BR&gt;TaskSquenceID=XPSP3 &lt;BR&gt;CapturedImageIndex=2 &lt;BR&gt;ComputerName=xptab%HALNAME% &lt;BR&gt;ProductKey=AAAAA-BBBBB-CCCCC-DDDDD-EEEEE &lt;BR&gt;WsusServer=&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;http://MDTSERVER&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;[00:03:FF:64:17:41] &lt;BR&gt;; XP Pro PIC HAL &lt;BR&gt;BuildID=XPSP3 &lt;BR&gt;TaskSquenceID=XPSP3 &lt;BR&gt;CapturedImageIndex=3 &lt;BR&gt;ComputerName=xppro%HALNAME% &lt;BR&gt;ProductKey=11111-22222-33333-44444-55555 &lt;BR&gt;WsusServer=&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;http://MDTSERVER&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;[00:03:FF:64:17:42] &lt;BR&gt;; XP Tablet PIC HAL &lt;BR&gt;BuildID=XPSP3 &lt;BR&gt;TaskSquenceID=XPSP3 &lt;BR&gt;CapturedImageIndex=4 &lt;BR&gt;ComputerName=xptab%HALNAME% &lt;BR&gt;ProductKey=AAAAA-BBBBB-CCCCC-DDDDD-EEEEE &lt;BR&gt;WsusServer=&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;http://MDTSERVER&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;[Finish] &lt;BR&gt;BackupFile=%TASKSEQUENCEID%_%CapturedImageIndex%.wim &lt;BR&gt;ImageNamePrefix=%TASKSEQUENCEID%.%CapturedImageIndex%.%TASKSEQUENCEVERSION%_ &lt;BR&gt;CompletionFile=%TASKSEQUENCEID%.%CapturedImageIndex%.txt&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;The edition of XP (Professional or Tablet PC Edition 2005) that gets install is controlled by using the correct Pro or Tablet Product Key.&amp;nbsp; (In this sample 11111-22222-33333-44444-55555 represents the XP Pro product key and AAAAA-BBBBB-CCCCC-DDDDD-EEEEE represents the XP Tablet PC Edition product key.)&amp;nbsp; The BackupFile name is constructed from the TaskSquenceID and the custom property CapturedImageIndex.&amp;nbsp; So for example the BackupFile name for the XP Pro APIC HAL image would be XPSP3_1.wim.&amp;nbsp; The prefix for the image name within the WIM the TaskSquenceID, the custom property CapturedImageIndex, and the TASKSEQUENCEVERSION.&amp;nbsp; For the the XP Pro APIC HAL image, the ImageNamePrefix would be something like XPSP3.1.05.&lt;/P&gt;
&lt;H4&gt;Image Build: Task Sequence Details&lt;/H4&gt;
&lt;H5&gt;Installing XP Service Pack 3&lt;/H5&gt;
&lt;P&gt;As I stated in my &lt;A href="http://blogs.technet.com/deploymentguys/archive/2008/08/03/implementing-the-windows-xp-tablet-pc-edition-2005-single-image-deployment-supplemental-guide-process-in-mdt-2008-full-update.aspx" target=_blank&gt;post&lt;/A&gt; on August 3 2009, the only way to create a supported installation of Windows XP Tablet PC Edition 2005 Service Pack 3 is to first install Tablet PC Edition from Service Pack 2 media and then install the Service Pack 3 Update.&amp;nbsp; So to be consistent, the task sequence creates all the XP images by first installing from SP 2 media and installing the SP 3 Update as an Application in the Custom Tasks group.&lt;/P&gt;
&lt;P&gt;I did this by download the Windows XP Service Pack 3 Update from here: &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=5B33B5A8-5E76-401F-BE08-1E1555D4F3D4&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=5B33B5A8-5E76-401F-BE08-1E1555D4F3D4&amp;amp;displaylang=en&lt;/A&gt;. I extracted the contents of the update to a temporary folder with the following command:&lt;/P&gt;
&lt;P&gt;WindowsXP-KB936929-SP3-x86-ENU.exe /x:&amp;lt;temporary folder path&amp;gt;&lt;/P&gt;
&lt;P&gt;Then I used the temporary folder to import the extracted Service Pack 3 Update as an Application in MDT with the following settings:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Folder name: Microsoft Windows XP Service Pack 3 Update &lt;BR&gt;Name: Windows XP Service Pack 3 Update &lt;BR&gt;Version: 1.0 &lt;BR&gt;Publisher: Microsoft &lt;BR&gt;Language: en-US &lt;BR&gt;Source: .\Applications\Microsoft Windows XP Service Pack 3 Update &lt;BR&gt;CommandLine: Update.exe /passive /norestart /n &lt;BR&gt;WorkingDirectory: .\Applications\Microsoft Windows XP Service Pack 3 Update\i386\update&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;H5&gt;Updating the \Windows\Source folder&lt;/H5&gt;
&lt;P&gt;MDT copies the XP installation source files into the %windir%\Source folder so that it is available if an optional component needs to be installed later.&amp;nbsp; Unfortunately, since you are installing from SP 2 media and installing the SP 3 Update later the %windir%\Source folder will be at SP2 but the installed OS will be at SP3.&amp;nbsp; To fix this you have to add step to the Task Sequence to update the %windir%\Source folder with the SP3-level installation source files.&lt;/P&gt;
&lt;P&gt;To do this, create a temporary folder.&amp;nbsp; Copy ZTIUtility.wsf from the MDT Scripts folder and the custom scripts LTI-ReplaceWindowsSource.wsf and LTI-CopySysprepFiles.wsf (in the ZIP attachment below) into this folder.&amp;nbsp; Create a subfolder of the temporary folder called Source.&amp;nbsp; Copy the contents of the SP3-level integrated media or slipstreamed version of the XP Pro installation CD files into the Source folder (copy all files/folders from the CD especially the Support folder, not just the i386 folder).&amp;nbsp; The folder should look similar to this:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/WindowsXPProfessionalandTabletPCEditionD_10D7E/Media_1.png" target=_blank&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=Media border=0 alt=Media src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/WindowsXPProfessionalandTabletPCEditionD_10D7E/Media_thumb_1.png" width=244 height=66&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Import this folder as an &lt;B&gt;Application with source files &lt;/B&gt;with the following settings:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Folder name: Windows XP Professional Service Pack 3 Integreted Media &lt;BR&gt;Name: Windows XP Professional Service Pack 3 Integreted Media &lt;BR&gt;Version: 1.0 &lt;BR&gt;Publisher: Microsoft &lt;BR&gt;Language: en-US &lt;BR&gt;Source: .\Applications\Windows XP Professional Service Pack 3 Integreted Media &lt;BR&gt;CommandLine: cscript.exe LTI-ReplaceWindowsSource.wsf &lt;BR&gt;WorkingDirectory: .\Applications\Windows XP Professional Service Pack 3 Integreted Media&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Add this as an Install Application step in the Custom Tasks group.&lt;/P&gt;
&lt;P&gt;If you are going to create your media for this step by slipstreaming SP3 into an SP2 installation source, this is what I recommend that you do.&amp;nbsp; Download the Windows XP Service Pack 3 - ISO-9660 CD Image File from &lt;A href="http://www.microsoft.com/DownLoads/details.aspx?familyid=2FCDE6CE-B5FB-4488-8C50-FE22559D164E&amp;amp;displaylang=en" target=_blank&gt;here&lt;/A&gt; and burn it to a CD using software that can burn ISO images to CD.&amp;nbsp; (I like using &lt;A href="http://www.imgburn.com/" target=_blank&gt;ImgBurn&lt;/A&gt; for this but there are many others you can use.)&lt;/P&gt;
&lt;P&gt;Copy the SP2 installation source that you imported following my instructions in the August 3, 2009 &lt;A href="http://blogs.technet.com/deploymentguys/archive/2008/08/03/implementing-the-windows-xp-tablet-pc-edition-2005-single-image-deployment-supplemental-guide-process-in-mdt-2008-full-update.aspx" target=_blank&gt;post&lt;/A&gt; to a temporary folder.&amp;nbsp; Delete the Dotnetfx, Support, and Valueadd folders from the temporary folder.&amp;nbsp; Replace them with the ones on the XP SP3 CD you just created.&amp;nbsp; Then use the SP3 installer (WindowsXP-KB936929-SP3-x86-ENU.exe) on the root of the CD to integrate SP3 into the temporary folder using the following command:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;WindowsXP-KB936929-SP3-x86-ENU.exe /integrate:"&amp;lt;temporary folder path&amp;gt;"&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Copy the resulting installation files into the Source folder in the above instructions.&amp;nbsp; Then create a Install Application step in the Custom Tasks group to “install” this as I described above.&lt;/P&gt;
&lt;H5&gt;Extracting the Sysprep Files&lt;/H5&gt;
&lt;P&gt;MDT copies the Sysprep files from the operating system folder in the Distribution folder.&amp;nbsp; Because of this, the Sysprep files copied will be the SP2 versions instead of the SP 3 versions.&amp;nbsp; Similar to the above step, we need to make sure the SP3 versions get copied instead.&lt;/P&gt;
&lt;P&gt;Create another Application in MDT as &lt;B&gt;Applications without source files or elsewhere on the network&lt;/B&gt; with the following settings:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Name: Windows XP Professional Service Pack 3 Sysprep Files &lt;BR&gt;Version: 1.0 &lt;BR&gt;Publisher: Microsoft &lt;BR&gt;Language: en-US &lt;BR&gt;CommandLine: cscript.exe LTI-CopySysprepFiles.wsf &lt;BR&gt;WorkingDirectory: %DeployRoot%\Applications\Windows XP Professional Service Pack 3 Integreted Media&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Then create a Install Application step in the Custom Tasks group to “install” this.&lt;/P&gt;
&lt;H5&gt;Changing the Create WIM Step &lt;/H5&gt;
&lt;P&gt;You still need to copy ZTIBackupCustom.wsf from the attached Zip file, place it in the MDT Scripts folder, and change the command line of the Create WIM step to use it instead of ZTIBackup.wsf.&lt;/P&gt;
&lt;H4&gt;Merging the WIM files&lt;/H4&gt;
&lt;P&gt;After completing all four runs of the Task Sequence, there should be four WIM files in the \Distribution\Captures folder: XPSP3_1.wim, XPSP3_2.wim, XPSP3_3.wim, and XPSP4_1.wim.&amp;nbsp; To merge them all into a new single WIM file (XPSP3.wim), I created the following CMD script (MergeXPImages.cmd) to do this.&amp;nbsp; It uses a small VBScript as well (both included in the Zip attachement).&amp;nbsp; This script is run on the MDT Server.&amp;nbsp; Be sure to change the &lt;STRONG&gt;set CAPTURES=D:\Distribution\Captures&lt;/STRONG&gt; line to point to your Captures folder path.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;@echo off &lt;BR&gt;setlocal &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;call "%ProgramFiles%\Windows AIK\Tools\PETools\pesetenv.cmd" &lt;BR&gt;set CAPTURES=D:\Distribution\Captures &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;:: Get the Last Modified date for the previous merged WIM if it exists &lt;BR&gt;:: and create an environment variable &lt;BR&gt;If exist "%CAPTURES%\XPSP3.wim" ( &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for /f "tokens=*" %%i in ('cscript //nologo GetFileDateInfo.vbs "%CAPTURES%\XPSP3.wim"') do set %%i &lt;BR&gt;) &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;:: Rename previous merged WIM so as not to overwrite or merge to the previous WIM &lt;BR&gt;If exist "%CAPTURES%\XPSP3.wim" rename "%CAPTURES%\XPSP3.wim" "XPSP3_%FileLastModified%.wim" &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;:: Merge the source WIMs into a single destination WIM &lt;BR&gt;call :MERGEIMAGE "%CAPTURES%\XPSP3_1.wim" "%CAPTURES%\XPSP3.wim" &lt;BR&gt;call :MERGEIMAGE "%CAPTURES%\XPSP3_2.wim" "%CAPTURES%\XPSP3.wim" &lt;BR&gt;call :MERGEIMAGE "%CAPTURES%\XPSP3_3.wim" "%CAPTURES%\XPSP3.wim" &lt;BR&gt;call :MERGEIMAGE "%CAPTURES%\XPSP3_4.wim" "%CAPTURES%\XPSP3.wim" &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;goto :EOF &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;:MERGEIMAGE &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for /f "delims=&amp;lt;&amp;gt; tokens=2,3*" %%i in ('imagex /info "%~1" 1') do set %%i=%%j &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; imagex /export "%~1" 1 "%~2" %NAME% &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; imagex /info "%~2" &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;goto :EOF&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;H4&gt;Deploying the XP Multi-image WIM&lt;/H4&gt;
&lt;P&gt;So now that you have this multi-mage WIM file, how do you make sure that the correct image gets applied in the deployment Task Sequence?&amp;nbsp; The steps are different depending on whether you are deploying with MDT Lite Touch Installation or with System Center Configuration Manager 2007 with MDT Integration.&amp;nbsp; You must use MDT Integration and an MDT Task sequence in ConfigMgr so that the Gather step will run.&lt;/P&gt;
&lt;P&gt;In both cases you will need to make the changes to CustomSettings.ini and use ZTI-DetectHardwareExit.vbs as shown in the &lt;STRONG&gt;Edit CustomSettings.ini for Detecting Tablet PC Hardware&lt;/STRONG&gt; section of my &lt;A href="http://blogs.technet.com/deploymentguys/archive/2008/08/03/implementing-the-windows-xp-tablet-pc-edition-2005-single-image-deployment-supplemental-guide-process-in-mdt-2008-full-update.aspx" target=_blank&gt;post&lt;/A&gt; on August 3 2009.&amp;nbsp; Using this multi-image WIM requires that the IsTablet variable is set correctly to True or False.&lt;/P&gt;
&lt;H5&gt;System Center Configuration Manager 2007&lt;/H5&gt;
&lt;P&gt;If you are deploying with System Center Configuration Manager, the setup is very straight forward.&amp;nbsp; Import the WIM files as an Operating System Image Package.&amp;nbsp; In your Task Sequence you will now need to have four Apply Operating System Image steps instead of one.&amp;nbsp; Give each a unique step name like &lt;EM&gt;Apply OS – XP Pro APIC HAL&lt;/EM&gt; to avoid confusion as to why there are four.&amp;nbsp; For all of them you will check &lt;EM&gt;Apply operating system from captured image&lt;/EM&gt; and select the &lt;EM&gt;Image package&lt;/EM&gt; you just created.&amp;nbsp; Then for each one you will select a different &lt;EM&gt;Image&lt;/EM&gt; number (1, 2, 3, or 4).&amp;nbsp; Finally you will set conditions on the &lt;EM&gt;Options&lt;/EM&gt; tab on each Apply Operating System Image step.&amp;nbsp; For example, the conditions for the XP Pro APIC HAL image would look like this:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/WindowsXPProfessionalandTabletPCEditionD_10D7E/Conditions_2.jpg" target=_blank&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=Conditions border=0 alt=Conditions src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/WindowsXPProfessionalandTabletPCEditionD_10D7E/Conditions_thumb.jpg" width=244 height=87&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;The table below shows the various settings for all the Apply Operating System Image steps.&lt;/P&gt;
&lt;TABLE border=1 cellSpacing=0 cellPadding=0 width=491&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=223&gt;
&lt;P&gt;Step Name&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=62&gt;
&lt;P&gt;Image #&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=204&gt;
&lt;P&gt;Conditions&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=223&gt;
&lt;P&gt;Apply OS - XP Pro ACPIAPIC HAL&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=62&gt;
&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=204&gt;
&lt;P&gt;HALNAME equals ACPIAPIC and IsTablet equals FALSE&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=223&gt;
&lt;P&gt;Apply OS - XP Tablet ACPIAPIC HAL&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=62&gt;
&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=204&gt;
&lt;P&gt;HALNAME equals ACPIAPIC and IsTablet equals TRUE&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=223&gt;
&lt;P&gt;Apply OS - XP Pro ACPIPIC HAL&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=62&gt;
&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=204&gt;
&lt;P&gt;HALNAME equals ACPIPIC and IsTablet equals FALSE&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=223&gt;
&lt;P&gt;Apply OS - XP Tablet ACPIPIC HAL&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=62&gt;
&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=204&gt;
&lt;P&gt;HALNAME equals ACPIPIC and IsTablet equals TRUE&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;Similarly, you should have two Apply Windows Settings steps, one with the XP Professional Product Key and one with the XP Tablet PC Edition Product Key:&lt;/P&gt;
&lt;TABLE border=1 cellSpacing=0 cellPadding=0 width=516&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=223&gt;
&lt;P&gt;Step Name&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=186&gt;
&lt;P&gt;Product key&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=105&gt;
&lt;P&gt;Conditions&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=223&gt;
&lt;P&gt;Apply Windows Settings – XP Pro&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=186&gt;
&lt;P&gt;(Windows XP Professional Volume License Key)&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=105&gt;
&lt;P&gt;IsTablet equals FALSE&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=223&gt;
&lt;P&gt;Apply Windows Settings - XP Tablet&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=186&gt;
&lt;P&gt;(Windows XP Tablet PC Edition 2005 Volume License Key)&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=105&gt;
&lt;P&gt;IsTablet equals TRUE&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;H5&gt;&amp;nbsp;&lt;/H5&gt;
&lt;H5&gt;MDT 2008 Update 1&lt;/H5&gt;
&lt;P&gt;If you are using MDT Lite Touch Installation, things get a little trickier.&amp;nbsp; First import the WIM as a Operating System into MDT. After you do you will see four entries in Operating Systems like &lt;EM&gt;XPSP3.1.05_CDrive in "Windows XP SP3\XPSP3.wim"&lt;/EM&gt; if you used a folder name of Windows XP SP3 during import.&lt;/P&gt;
&lt;P&gt;When you create your deployment Task Sequence select the one that starts with &lt;EM&gt;XPSP3.1&lt;/EM&gt; as the operating system to install.&amp;nbsp; This will be the XP Pro APIC HAL image which should be the one that will be installed most often.&amp;nbsp; You can only have the one Install Operating System step in an MDT Task sequence.&lt;/P&gt;
&lt;P&gt;When you import a WIM as an Operating System in the Deployment Workbench it creates one or more entries in \Distribution\Control\OperatingSystems.xml.&amp;nbsp; It will create one entry for each image in the WIM files.&amp;nbsp; Below is an example of the entries in OperatingSystems.xml for my multi-image XP WIM file&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&amp;lt;os guid="{e22d5b4a-1d2f-4c73-860a-ced219bb8c09}"&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Name&amp;gt;XPSP3.1.05_CDrive in "Windows XP SP3\XPSP3.wim"&amp;lt;/Name&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Description&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;/Description&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Platform&amp;gt;x86&amp;lt;/Platform&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Build&amp;gt;5.1.2600.5512&amp;lt;/Build&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Type&amp;gt;Windows XP&amp;lt;/Type&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Source&amp;gt;.\Operating Systems\Windows XP SP3&amp;lt;/Source&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;IncludesSetup&amp;gt;False&amp;lt;/IncludesSetup&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;SMSImage&amp;gt;False&amp;lt;/SMSImage&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;ImageFile&amp;gt;.\Operating Systems\Windows XP SP3\XPSP3.wim&amp;lt;/ImageFile&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;ImageIndex&amp;gt;1&amp;lt;/ImageIndex&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;ImageName&amp;gt;XPSP3.1.05_CDrive&amp;lt;/ImageName&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Flags&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;/Flags&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;HAL&amp;gt;acpiapic_up&amp;lt;/HAL&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Size&amp;gt;3003&amp;lt;/Size&amp;gt; &lt;BR&gt;&amp;lt;/os&amp;gt; &lt;BR&gt;&amp;lt;os guid="{1c47ea5f-73cd-44f2-a0a6-37583ac9b774}"&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Name&amp;gt;XPSP3.2.05_CDrive in "Windows XP SP3\XPSP3.wim"&amp;lt;/Name&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Description&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;/Description&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Platform&amp;gt;x86&amp;lt;/Platform&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Build&amp;gt;5.1.2600.5512&amp;lt;/Build&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Type&amp;gt;Windows XP&amp;lt;/Type&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Source&amp;gt;.\Operating Systems\Windows XP SP3&amp;lt;/Source&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;IncludesSetup&amp;gt;False&amp;lt;/IncludesSetup&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;SMSImage&amp;gt;False&amp;lt;/SMSImage&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;ImageFile&amp;gt;.\Operating Systems\Windows XP SP3\XPSP3.wim&amp;lt;/ImageFile&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;ImageIndex&amp;gt;2&amp;lt;/ImageIndex&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;ImageName&amp;gt;XPSP3.2.05_CDrive&amp;lt;/ImageName&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Flags&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;/Flags&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;HAL&amp;gt;acpiapic_up&amp;lt;/HAL&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Size&amp;gt;3236&amp;lt;/Size&amp;gt; &lt;BR&gt;&amp;lt;/os&amp;gt; &lt;BR&gt;&amp;lt;os guid="{61c15f32-1f9f-4c64-806a-202eaccac425}"&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Name&amp;gt;XPSP3.3.05_CDrive in "Windows XP SP3\XPSP3.wim"&amp;lt;/Name&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Description&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;/Description&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Platform&amp;gt;x86&amp;lt;/Platform&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Build&amp;gt;5.1.2600.5512&amp;lt;/Build&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Type&amp;gt;Windows XP&amp;lt;/Type&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Source&amp;gt;.\Operating Systems\Windows XP SP3&amp;lt;/Source&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;IncludesSetup&amp;gt;False&amp;lt;/IncludesSetup&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;SMSImage&amp;gt;False&amp;lt;/SMSImage&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;ImageFile&amp;gt;.\Operating Systems\Windows XP SP3\XPSP3.wim&amp;lt;/ImageFile&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;ImageIndex&amp;gt;3&amp;lt;/ImageIndex&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;ImageName&amp;gt;XPSP3.3.05_CDrive&amp;lt;/ImageName&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Flags&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;/Flags&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;HAL&amp;gt;acpipic_up&amp;lt;/HAL&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Size&amp;gt;3051&amp;lt;/Size&amp;gt; &lt;BR&gt;&amp;lt;/os&amp;gt; &lt;BR&gt;&amp;lt;os guid="{a8f8689f-ed34-4595-a2f8-02ef98832979}"&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Name&amp;gt;XPSP3.4.05_CDrive in "Windows XP SP3\XPSP3.wim"&amp;lt;/Name&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Description&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;/Description&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Platform&amp;gt;x86&amp;lt;/Platform&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Build&amp;gt;5.1.2600.5512&amp;lt;/Build&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Type&amp;gt;Windows XP&amp;lt;/Type&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Source&amp;gt;.\Operating Systems\Windows XP SP3&amp;lt;/Source&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;IncludesSetup&amp;gt;False&amp;lt;/IncludesSetup&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;SMSImage&amp;gt;False&amp;lt;/SMSImage&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;ImageFile&amp;gt;.\Operating Systems\Windows XP SP3\XPSP3.wim&amp;lt;/ImageFile&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;ImageIndex&amp;gt;4&amp;lt;/ImageIndex&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;ImageName&amp;gt;XPSP3.4.05_CDrive&amp;lt;/ImageName&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Flags&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;/Flags&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;HAL&amp;gt;acpipic_up&amp;lt;/HAL&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Size&amp;gt;3284&amp;lt;/Size&amp;gt; &lt;BR&gt;&amp;lt;/os&amp;gt; &lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;You will notice that each entry is assigned a unique GUID.&amp;nbsp; This is what MDT uses to track what OS to install when you select an OS in the Install Operating System step.&amp;nbsp; Unfortunately, MDT takes the GUID from the entry selected in the Install Operating System step and sets a global Task Sequence variable called OSGUID with the value.&amp;nbsp; This means that to change what OS gets installed within the Task Sequence, you have to override the OSGUID value with the GUID for the OS you want to install.&amp;nbsp; You also need to override the variable IMAGEINDEX as well.&amp;nbsp; To do this you need to create a series of Set Task Sequence Variable steps to override both variables using conditions similar to those on the ConfigMgr steps.&amp;nbsp; Below is a table showing the Set Task Sequence Variable steps for my sample above that should immediately precede the Install Operating System step and their conditions.&amp;nbsp; There should be no conditions on the Install Operating System step. &lt;BR&gt;&lt;/P&gt;
&lt;TABLE border=1 cellSpacing=0 cellPadding=0 width=685&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=173&gt;
&lt;P&gt;Step Name&lt;/P&gt;&lt;/TD&gt;
&lt;TD width=85&gt;
&lt;P&gt;TS Variable&lt;/P&gt;&lt;/TD&gt;
&lt;TD width=259&gt;Value&lt;/TD&gt;
&lt;TD vAlign=top width=166&gt;
&lt;P&gt;Conditions&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=172&gt;
&lt;P&gt;Set OSGUID - XP Tablet ACPIAPIC HAL&lt;/P&gt;&lt;/TD&gt;
&lt;TD width=87&gt;
&lt;P&gt;OSGUID&lt;/P&gt;&lt;/TD&gt;
&lt;TD width=258&gt;{1c47ea5f-73cd-44f2-a0a6-37583ac9b774}&lt;/TD&gt;
&lt;TD vAlign=top width=165&gt;
&lt;P&gt;HALNAME equals ACPIAPIC and IsTablet equals TRUE&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=172&gt;
&lt;P&gt;Set IMAGEINDEX - XP Tablet ACPIAPIC HAL&lt;/P&gt;&lt;/TD&gt;
&lt;TD width=89&gt;
&lt;P&gt;IMAGEINDEX &lt;/P&gt;&lt;/TD&gt;
&lt;TD width=257&gt;2&lt;/TD&gt;
&lt;TD vAlign=top width=165&gt;
&lt;P&gt;HALNAME equals ACPIAPIC and IsTablet equals TRUE&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=172&gt;
&lt;P&gt;Set OSGUID - XP Pro ACPIPIC HAL&lt;/P&gt;&lt;/TD&gt;
&lt;TD width=91&gt;
&lt;P&gt;OSGUID&lt;/P&gt;&lt;/TD&gt;
&lt;TD width=256&gt;{61c15f32-1f9f-4c64-806a-202eaccac425}&lt;/TD&gt;
&lt;TD vAlign=top width=164&gt;
&lt;P&gt;HALNAME equals ACPIPIC and IsTablet equals FALSE&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=171&gt;
&lt;P&gt;Set IMAGEINDEX - XP Pro ACPIPIC HAL&lt;/P&gt;&lt;/TD&gt;
&lt;TD width=92&gt;
&lt;P&gt;IMAGEINDEX &lt;/P&gt;&lt;/TD&gt;
&lt;TD width=256&gt;3&lt;/TD&gt;
&lt;TD vAlign=top width=164&gt;
&lt;P&gt;HALNAME equals ACPIPIC and IsTablet equals FALSE&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=171&gt;
&lt;P&gt;Set OSGUID - XP Tablet ACPIPIC HAL&lt;/P&gt;&lt;/TD&gt;
&lt;TD width=93&gt;
&lt;P&gt;OSGUID&lt;/P&gt;&lt;/TD&gt;
&lt;TD width=255&gt;{a8f8689f-ed34-4595-a2f8-02ef98832979}&lt;/TD&gt;
&lt;TD vAlign=top width=164&gt;
&lt;P&gt;HALNAME equals ACPIPIC and IsTablet equals TRUE&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=171&gt;
&lt;P&gt;Set IMAGEINDEX - XP Tablet ACPIPIC HAL&lt;/P&gt;&lt;/TD&gt;
&lt;TD width=93&gt;
&lt;P&gt;IMAGEINDEX &lt;/P&gt;&lt;/TD&gt;
&lt;TD width=255&gt;4&lt;/TD&gt;
&lt;TD vAlign=top width=164&gt;
&lt;P&gt;HALNAME equals ACPIPIC and IsTablet equals TRUE&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;You will also need to set the ProductKey property to either the XP Pro or XP Tablet key depending on whether IsTablet equals FALSE or TRUE respectively.&amp;nbsp; This can be done using conditioned Set Task Sequence Variable steps or using CustomSettings.ini by adding sections like the ones shown below:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;[Settings] &lt;BR&gt;Priority=IsTabletCheck, ByTabletType, Default &lt;BR&gt;Properties=MyCustomProperty, TabletPnpIds, IsTablet, XPTabletProductKey &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;[IsTabletCheck] &lt;BR&gt;TabletPnpIds=ACPI\WACF004,ACPI\WACF008,ACPI\MAI3310,ACPI\FUJ02E5 &lt;BR&gt;UserExit=ZTI-DetectHardwareExit.vbs &lt;BR&gt;IsTablet=#DetectDevices("%TabletPnpIds%")# &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;[ByTabletType] &lt;BR&gt;Subsection=Tablet-%IsTablet% &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;[Tablet-True] &lt;BR&gt;ProductKey=AAAAA-BBBBB-CCCCC-DDDDD-EEEEE &lt;BR&gt;OSInstall=Y &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;[Tablet-False] &lt;BR&gt;ProductKey=11111-22222-33333-44444-55555&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;OSInstall=Y &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;[Tablet-Error] &lt;BR&gt;OSInstall=N &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;[Default]&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;where 11111-22222-33333-44444-55555 represents the XP Pro product key and AAAAA-BBBBB-CCCCC-DDDDD-EEEEE represents the XP Tablet PC Edition product key.&lt;/P&gt;
&lt;H4&gt;Creating Multi-image WIM files with Other Operating Systems&lt;/H4&gt;
&lt;P&gt;Creating and deploying multi-image WIM files can be done with other operating systems.&amp;nbsp; For example, you could use a single task sequence to create an custom WIM that contains custom images of Windows Vista Business and Windows Vista Enterprise.&amp;nbsp; Or create a single WIM file with Windows Server 2008 Standard, Enterprise, and Datacenter.&amp;nbsp; (You would generally only include images of the same OS and the same architecture with a single WIM.&amp;nbsp; You would not benefit from single instance storage if you tried to include x86 and x64 images in the same WIM.)&amp;nbsp; To do this, the image build process would have to be done more like the MDT 2008 deployment method described above.&amp;nbsp; What is unique about XP is all the images were created for the same source “Operating System” (the XP SP2 media).&amp;nbsp; For including multiple editions of other operating systems in a single WIM requires using multiple MDT “Operating Systems” in the Task Sequence.&amp;nbsp; This requires overriding the OSGUID and IMAGEINDEX like the process above except you would have to condition off another variable.&lt;/P&gt;
&lt;P&gt;For example, let’s say you wanted to create a WIM that contains custom images of Windows Vista Business and Windows Vista Enterprise.&amp;nbsp; You could set a custom variable call Edition like this:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;[Settings] &lt;BR&gt;Priority=Default, MACAddress, Finish &lt;BR&gt;Properties=MyCustomProperty, CapturedImageIndex, ImageNamePrefix, CompletionFile, BackupFile, Edition&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;[Default] &lt;BR&gt;OSInstall=Y &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;.&amp;nbsp; &lt;BR&gt;.&amp;nbsp; &lt;BR&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;[00:15:5D:11:AF:FF] &lt;BR&gt;; Vista Business x86 &lt;BR&gt;BuildID=Vistax86SP1 &lt;BR&gt;TaskSquenceID=Vistax86SP1 &lt;BR&gt;Edition=Business &lt;BR&gt;CapturedImageIndex=1 &lt;BR&gt;ComputerName=vbx86sp1 &lt;BR&gt;WsusServer=&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;http://MDTSERVER&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;[00:15:5D:11:AF:FE] &lt;BR&gt;; Vista Enterprise x86 &lt;BR&gt;BuildID=Vistax86SP1 &lt;BR&gt;TaskSquenceID=Vistax86SP1 &lt;BR&gt;Edition=Enterprise &lt;BR&gt;CapturedImageIndex=2 &lt;BR&gt;ComputerName=vex86sp1 &lt;BR&gt;WsusServer=&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;http://MDTSERVER&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;. &lt;BR&gt;. &lt;BR&gt;.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;In the image build Task Sequence you would select the most often deployed OS (let’s say Windows Vista Enterprise for example) in the Install Operating System step.&amp;nbsp; You would then create Set Task Sequence Variable steps that override the OSGUID and IMAGEINDEX with the ones for Windows Vista Business with a condition of Edition equals Business.&lt;/P&gt;
&lt;P&gt;For deploying the resulting WIM you would do similar conditioned steps for ConfigMgr and MDT but you would have to again use a custom variable for the condition that perhaps get set per computer, location, or role in CustomSettings.ini or the MDT database.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Disclaimer: The information on this site is provided "AS IS" with no warranties, confers no rights, and is not supported by the authors or Microsoft Corporation. Use of included script samples are subject to the terms specified in the &lt;/STRONG&gt;&lt;A href="http://www.microsoft.com/info/cpyright.mspx" target=_blank mce_href="http://www.microsoft.com/info/cpyright.mspx"&gt;&lt;FONT color=#000000&gt;&lt;STRONG&gt;Terms of Use&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;STRONG&gt;.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;This post was contributed by &lt;B&gt;Michael Murgolo,&lt;/B&gt; a Senior Consultant with Microsoft Services - U.S. East Region.&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3107515" width="1" height="1"&gt;</description><enclosure url="http://blogs.technet.com/deploymentguys/attachment/3107515.ashx" length="12967" type="application/x-zip-compressed" /><category domain="http://blogs.technet.com/deploymentguys/archive/tags/ConfigMgr/default.aspx">ConfigMgr</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/XP+Tablet+PC+Edition/default.aspx">XP Tablet PC Edition</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/MDT/default.aspx">MDT</category></item><item><title>User Experience for Configuration Manager Task Sequences - Part I</title><link>http://blogs.technet.com/deploymentguys/archive/2008/12/04/user-experience-for-configuration-manager-task-sequences-part-i.aspx</link><pubDate>Fri, 05 Dec 2008 02:24:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3164051</guid><dc:creator>DeploymentGuys</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.technet.com/deploymentguys/comments/3164051.aspx</comments><wfw:commentRss>http://blogs.technet.com/deploymentguys/commentrss.aspx?PostID=3164051</wfw:commentRss><wfw:comment>http://blogs.technet.com/deploymentguys/rsscomments.aspx?PostID=3164051</wfw:comment><description>&lt;P&gt;Ever wanted to add your own user communication and interaction to a Configuration Manager task sequence? Below is an HTML Application (HTA) that has a user interface for the task sequence with information about the deployment, a button to cancel or pause the deployment and even a button for a desktop support person to get debug information. This first post will cover how to implement a User Experience HTA and how to send messages to it.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/AddingUserExperiencetoConfigurationManag_956/image_7.png" mce_href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/AddingUserExperiencetoConfigurationManag_956/image_7.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=189 alt=image src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/AddingUserExperiencetoConfigurationManag_956/image_thumb_2.png" width=650 border=0 mce_src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/AddingUserExperiencetoConfigurationManag_956/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;A Configuration Manager Task Sequence runs as SYSTEM and therefore anything launched from it will also run in the SYSTEM context . In WinPE,&amp;nbsp;this will be visible to the user and you can simply launch the HTA from the task sequence. However,&amp;nbsp;&amp;nbsp; if you try to run a User Experience HTA from the task sequence, it will be invisible to your user in the Full OS. Fortunately, you can get around this with by launching your user experience application as a package that runs before the task sequence:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;1. Download the sample HTA files provided in the link.&lt;/P&gt;
&lt;P&gt;2. Create a package in Configuration manager with the files from (1) as the source files (in the exact directory structure, with CopyUE.bat in the root of the package and the UserExperience subfolder)&lt;/P&gt;
&lt;P&gt;3. Create a program that runs the CopyUE.bat file included in the download. Use the following properties for the program&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;lt;Choose Allow users to interact with this program&amp;gt;&lt;/STRONG&gt; and &lt;STRONG&gt;&amp;lt;Run the program as hidden&amp;gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/AddingUserExperiencetoConfigurationManag_956/UserExperienceProgram.jpg" mce_href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/AddingUserExperiencetoConfigurationManag_956/UserExperienceProgram.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; MARGIN: 10px 10px 0px 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=296 alt=UserExperienceProgram src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/AddingUserExperiencetoConfigurationManag_956/UserExperienceProgram_thumb.jpg" width=573 border=0 mce_src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/AddingUserExperiencetoConfigurationManag_956/UserExperienceProgram_thumb.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;4. Right click on the task sequence in Configuration Manager and choose Properties &lt;/P&gt;
&lt;P&gt;5. On the Advanced tab choose &lt;STRONG&gt;"Run another program first"&lt;/STRONG&gt; and browse to the Package/Program with the HTA&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/AddingUserExperiencetoConfigurationManag_956/image3.png" mce_href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/AddingUserExperiencetoConfigurationManag_956/image3.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=268 alt=image src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/AddingUserExperiencetoConfigurationManag_956/image3_thumb.png" width=240 border=0 mce_src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/AddingUserExperiencetoConfigurationManag_956/image3_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;6. In your task sequence scripts add the following header:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script language="VBScript" src="OutputMessage.vbs"/&amp;gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;7. In your script to output to the user experience screen use the following syntax in Vbscript:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;OutputMessage &amp;lt;severity&amp;gt;,&amp;lt;LeftColumnText&amp;gt;, &amp;lt;RightColumnText&amp;gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Where &amp;lt;severity&amp;gt; is either "Info", "Success, "Warning" or "Error"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.g. &lt;STRONG&gt;OutputMessage "Info", "Validating machine", "Please wait while your deployment begins"&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;8. Copy the OutputMessage.vbs file to the package where your script in (7) is located.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Feel free to try out the HTA and customize it as you please. Stay tuned for the future installments of this post that will talk about how to allow users to cancel a deployment, show debug information or perform other interactions.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;This post was contributed by &lt;/EM&gt;&lt;STRONG&gt;&lt;I&gt;Aly Shivji&lt;/I&gt;&lt;/STRONG&gt;&lt;EM&gt; a consultant with Microsoft Services - U.S. East Region. &lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3164051" width="1" height="1"&gt;</description><enclosure url="http://blogs.technet.com/deploymentguys/attachment/3164051.ashx" length="5067" type="application/x-zip-compressed" /><category domain="http://blogs.technet.com/deploymentguys/archive/tags/SCCM+2007/default.aspx">SCCM 2007</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/ConfigMgr/default.aspx">ConfigMgr</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Configuration+Manager/default.aspx">Configuration Manager</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category></item><item><title>Porting Configuration Manager Task Sequences to a Different Environment</title><link>http://blogs.technet.com/deploymentguys/archive/2008/10/15/porting-configuration-manager-task-sequences-to-a-different-environment.aspx</link><pubDate>Wed, 15 Oct 2008 23:27:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3136932</guid><dc:creator>DeploymentGuys</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/deploymentguys/comments/3136932.aspx</comments><wfw:commentRss>http://blogs.technet.com/deploymentguys/commentrss.aspx?PostID=3136932</wfw:commentRss><wfw:comment>http://blogs.technet.com/deploymentguys/rsscomments.aspx?PostID=3136932</wfw:comment><description>&lt;P&gt;Many scenarios arise in which you may want to port your task sequence from one environment to another. Common scenarios include promotion through Lab and QA environments and migration between disconnected hierarchies.&amp;nbsp; Configuration Manager allows you to export task sequences into XML files as an out-of-the-box feature,&amp;nbsp;however there are some things to remember when doing this. &lt;/P&gt;
&lt;P&gt;Here is a checklist I like to follow:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;1. &lt;STRONG&gt;Passwords: &lt;/STRONG&gt;The exported task sequence will replace passwords in the task sequence for known steps before performing an export to ensure no clear-text passwords exist in the XML. This means any passwords in the "Apply Windows Settings" and "Join Domain" steps will replaced with &lt;STRONG&gt;????????&amp;nbsp; &lt;/STRONG&gt;. Remember to re-enter passwords when importing the task sequence or it will be set to 8 consecutive question marks.&lt;/P&gt;
&lt;P&gt;2. &lt;STRONG&gt;Product Keys:&lt;/STRONG&gt; Any product keys you enter will be blanked out in the "Apply Windows Settings" step. Remember to re-enter these for your XP task sequences.&lt;/P&gt;
&lt;P&gt;3. &lt;STRONG&gt;Package IDs*:&lt;/STRONG&gt; If the new Configuration Manager Site Server is not in the same hierarchy, you will have to re-associate all the steps in the task sequence to the packages in the new environment. You may also need to reassociate the boot image and any packages selected to run before the task sequence. &lt;STRONG&gt;Read below for a script to automate this process.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;4. &lt;STRONG&gt;Inject Drivers in the Apply Driver Package step&lt;/STRONG&gt;: If you have configured the task sequence with an Apply Driver Package step and chosen a boot-critical driver for Pre-Vista OSes, you will need to reselect this driver in the new environment.&lt;/P&gt;
&lt;P&gt;5. &lt;STRONG&gt;Setup Windows and Config Manager step:&lt;/STRONG&gt; If you are migrating to a new hierarchy, you will also want to see whether any of your Config Manager client properties need to be changed - such as reference to an FSP or SLP.&lt;/P&gt;
&lt;P&gt;6. &lt;STRONG&gt;Domain references: &lt;/STRONG&gt;You may have to also change any Join Domain steps you have in the Task Sequence to point to a new domain and use different credentials to perform the join.&lt;/P&gt;
&lt;P&gt;7. &lt;STRONG&gt;MDT Database: &lt;/STRONG&gt;If you are moving to a new hierarchy, the packageIDs&amp;nbsp;&amp;nbsp;in your MDT Database will still point to packageIDs in your previous environment. I am working on a script to help automate this and will post it once it is ready.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;*Steps 3 can be a tedious process and often times can result in a manual configuration error. Luckily, we've created some &lt;STRONG&gt;powershell&lt;/STRONG&gt;&amp;nbsp;scripts to help make the process less manual:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Automated Scripts:&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;ExportTSRefs.ps1 - &lt;/STRONG&gt;Exports the name, packageID and version of any referenced packages of a given task sequence to a RefIDsFile. This includes OS Packages, OS Install Packages, Driver Packages, Boot Image Packages and&amp;nbsp;Software Packages. &lt;STRONG&gt;Note this only exports the refIDsFile not the packages or XML themselves.&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Usage: &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;."ExportTSRefs.ps1" -sitecode &amp;lt;sitecode&amp;gt; -refIDsFile &amp;lt;filename&amp;gt; -delim &amp;lt;delimiter&amp;gt; -tsID &amp;lt;taskSequencePackageID&amp;gt; 
&lt;P&gt;&lt;STRONG&gt;For Example to Export the references of the CEN00001 TaskSequence Package:&lt;/STRONG&gt; 
&lt;P&gt;."ExportTSRefs.ps1" -sitecode "CEN" -refIDsFile "refIDs.txt" -delim "=" -tsID "CEN00001" 
&lt;P&gt;&lt;STRONG&gt;Running the script multiple times with different tsIDs and&amp;nbsp;an existing refIDs file&amp;nbsp;will append only unique packageIDs to the refIDs File.&lt;/STRONG&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;ScrubTS.ps1&lt;/STRONG&gt; - Reads a RefIDsfile generated by the ExportTSRefs.ps1 script. It then scrubs&amp;nbsp;all the&amp;nbsp;Task Sequence XML files in&amp;nbsp;the given&amp;nbsp;folder&amp;nbsp;for package IDs, looks up packages with the same name and version in the new environment and replaces the XML with the new package IDs.&lt;STRONG&gt; Note: packages in&amp;nbsp;Configuration Manager&amp;nbsp;and source files&amp;nbsp;must already exist in the new environment.&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Usage:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;."ScrubTS.ps1" -sitecode &amp;lt;sitecode&amp;gt; -refIDsFile &amp;lt;filename&amp;gt; -delim &amp;lt;delimiter&amp;gt; -path &amp;lt;folderpath&amp;gt; 
&lt;P&gt;&lt;STRONG&gt;For Example to scrub the package IDs of all the XML files in the C:\ExportedTaskSequences folder&lt;/STRONG&gt; 
&lt;P&gt;."ScrubTS.ps1" -sitecode "CEN" -refIDsFile "refIDs.txt" -delim "=" -path "C:\ExportedTaskSequences"&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Remember the path is a folder name and the script will read&amp;nbsp;all the&amp;nbsp;.XML files in the folder. The new XML files will have the extension &lt;STRONG&gt;_scrubbed.XML&lt;/STRONG&gt;.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;For both scripts you can use any delimiter you like , I prefer "=" but feel free to experiment.&lt;/STRONG&gt; 
&lt;P&gt;We are working on developing more scripts to add further automation around the promotion and migration process of task sequences. Stay tuned! As always try out the scripts and feel free to add any comments or contributions. 
&lt;P&gt;&lt;EM&gt;This post was contributed by &lt;/EM&gt;&lt;STRONG&gt;&lt;I&gt;Aly Shivji&lt;/I&gt;&lt;/STRONG&gt;&lt;EM&gt; a consultant with Microsoft Services - U.S. East Region. &lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3136932" width="1" height="1"&gt;</description><enclosure url="http://blogs.technet.com/deploymentguys/attachment/3136932.ashx" length="1661" type="application/x-zip-compressed" /><category domain="http://blogs.technet.com/deploymentguys/archive/tags/ConfigMgr/default.aspx">ConfigMgr</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Configuration+Manager/default.aspx">Configuration Manager</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Scripts/default.aspx">Scripts</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category></item><item><title>Documenting Your Task Sequences Automagically</title><link>http://blogs.technet.com/deploymentguys/archive/2008/08/17/documenting-your-task-sequences-automagically.aspx</link><pubDate>Sun, 17 Aug 2008 08:53:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3107239</guid><dc:creator>DeploymentGuys</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.technet.com/deploymentguys/comments/3107239.aspx</comments><wfw:commentRss>http://blogs.technet.com/deploymentguys/commentrss.aspx?PostID=3107239</wfw:commentRss><wfw:comment>http://blogs.technet.com/deploymentguys/rsscomments.aspx?PostID=3107239</wfw:comment><description>&lt;P&gt;Often times, after creating an MDT or SCCM task sequence, you need to document it for yourself or your customers. Usually, this involves creating a table with the groups and steps, extracting their descriptions, identifying conditions and denoting the step actions and variables and then having&amp;nbsp;format it all nicely and with indents denoting hierarchy.&amp;nbsp;All of this information is usually already&amp;nbsp;in the XML of the task sequence and all you're really doing is formatting. You can automatically format XML documents by using an XSL transform with the right logic. In order to do this:&lt;/P&gt;
&lt;P&gt;1. Copy the attached file at the bottom of the post to the same folder as your task sequence.&lt;/P&gt;
&lt;P&gt;2. Open your task sequence in your favourite text editor.&lt;/P&gt;
&lt;P&gt;3. After the first line which should look something like this:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;?xml version="1.0"?&amp;gt; or &amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;/P&gt;
&lt;P&gt;enter the following as the second line:&lt;/P&gt;
&lt;P&gt;&amp;lt;?xml-stylesheet type="text/xsl" href="tsDocumentorv1.xsl"?&amp;gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;4. Save your task sequence file and open it in Internet Explorer. Presto! The XSL takes care of formatting, indents and sizing. &lt;/P&gt;
&lt;P&gt;Your Task Sequence should look like this:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/DocumentingyourTaskSequencesAutomagicall_162E/image_2.png" mce_href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/DocumentingyourTaskSequencesAutomagicall_162E/image_2.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=340 alt=image src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/DocumentingyourTaskSequencesAutomagicall_162E/image_thumb.png" width=712 border=0 mce_src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/DocumentingyourTaskSequencesAutomagicall_162E/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;You can even change the styles of groups and steps easily.&lt;/P&gt;
&lt;P&gt;1. Open up the tsDocumentorv1.xsl file&lt;/P&gt;
&lt;P&gt;2. Edit the following section:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;STYLE TYPE="text/css"&amp;gt; &lt;BR&gt;&amp;nbsp; TD.group { background-color:teal;color:white } &lt;BR&gt;&amp;nbsp; TD.step { background-color:beige } &lt;BR&gt;&amp;lt;/STYLE&amp;gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Change the colours or any other css properties you choose!&lt;/P&gt;
&lt;P&gt;The XSL should work with task sequences created with BDD 2007, MDT 2008 and SCCM 2007.&lt;/P&gt;
&lt;P&gt;Please try it out and post comments.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;This post was contributed by &lt;/EM&gt;&lt;STRONG&gt;&lt;I&gt;Aly Shivji&lt;/I&gt;&lt;/STRONG&gt;&lt;EM&gt; a consultant with Microsoft Services - U.S. East Region. Credit to &lt;STRONG&gt;Michael Murgolo&lt;/STRONG&gt; for initial idea and effort.&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3107239" width="1" height="1"&gt;</description><enclosure url="http://blogs.technet.com/deploymentguys/attachment/3107239.ashx" length="6849" type="text/xml" /><category domain="http://blogs.technet.com/deploymentguys/archive/tags/BDD+2007/default.aspx">BDD 2007</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Microsoft+Deployment/default.aspx">Microsoft Deployment</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/SCCM+2007/default.aspx">SCCM 2007</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/ConfigMgr/default.aspx">ConfigMgr</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Configuration+Manager/default.aspx">Configuration Manager</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category></item><item><title>How to Setup ConfigMgr 2007 on Windows Server 2008</title><link>http://blogs.technet.com/deploymentguys/archive/2008/08/07/how-to-setup-configmgr-2007-on-windows-server-2008.aspx</link><pubDate>Thu, 07 Aug 2008 18:32:09 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3102182</guid><dc:creator>DeploymentGuys</dc:creator><slash:comments>16</slash:comments><comments>http://blogs.technet.com/deploymentguys/comments/3102182.aspx</comments><wfw:commentRss>http://blogs.technet.com/deploymentguys/commentrss.aspx?PostID=3102182</wfw:commentRss><wfw:comment>http://blogs.technet.com/deploymentguys/rsscomments.aspx?PostID=3102182</wfw:comment><description>&lt;p&gt;Installing ConfigMgr 2007 onto a Windows Server 2008 based server can be a challenge. Having recently been through the process for my own lab environment I thought I&amp;#8217;d share the process in the hope that it will save you some time when you need to create this configuration. Before you begin you will need to gather the following components:&lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Windows Server 2008 Enterprise RTM (x86) and Licence Key &lt;/li&gt;      &lt;li&gt;SQL Server 2005 and Licence Key &lt;/li&gt;      &lt;li&gt;System Center Configuration Manager 2007 and Licence Key &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;You will also need to download the following components:&lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Microsoft WebDAV Extension for IIS 7.0 (x86) : &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=036269fa-0040-4ccd-ad3d-78da1ee132fb&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=036269fa-0040-4ccd-ad3d-78da1ee132fb&amp;amp;DisplayLang=en&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;Windows Software Update Services 3.0 SP1: &lt;a href="http://technet.microsoft.com/en-us/wsus/bb466190.aspx"&gt;http://technet.microsoft.com/en-us/wsus/bb466190.aspx&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;SQL 2005 SP2: &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=d07219b2-1e23-49c8-8f0c-63fa18f26d3a&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=d07219b2-1e23-49c8-8f0c-63fa18f26d3a&amp;amp;DisplayLang=en&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;SQL critical update 934458: &lt;a href="http://support.microsoft.com/kb/934458"&gt;http://support.microsoft.com/kb/934458&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;ConfigMgr 2007 SP1: &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=5AAE62E8-4B7F-4AF7-BE01-AEFAA4BF059A&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=5AAE62E8-4B7F-4AF7-BE01-AEFAA4BF059A&amp;amp;displaylang=en&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;ConfigMgr 2007 R2 - available from your Volume Licence web site &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Step 1 &amp;#8211; Install Windows Server 2008&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Install Windows Server 2008 (x86) Enterprise on a machine with the following minimum specification:&lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Memory: 2GB &lt;/li&gt;      &lt;li&gt;Hard Disk 2 x 70GB disks &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;This could be a physical machine or a virtual machine based on Virtual PC, Virtual Server or Hyper-V&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Step 2 &amp;#8211; Configure Windows Server 2008&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Once the Windows Server 2008 installation has completed, log in as Administrator and carry out the following initial tasks:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;1. Set a static IP address for the server &lt;/p&gt;    &lt;p&gt;2. Unbind IPv6 from the network card (this is not a full fix for removing IPv6 - look out for a future post on this subject)&lt;/p&gt;    &lt;p&gt;3. Enable the AD role as a new domain controller for your chosen domain (not required for ConfigMgr - it's just that all my lab machines are DCs)&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;b&gt;Step 3 &amp;#8211; Add Additional Windows Server 2008 Roles and Features&lt;/b&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;Additional Windows Server 2008 roles and features (through &lt;strong&gt;Control Panel &amp;gt; Programs and Features&lt;/strong&gt;) are required to support the ConfigMgr 2007 installation:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;1. Add the Windows Deployment Services (WDS) role with default settings (do not configure WDS as ConfigMgr will do that later)&lt;/p&gt;    &lt;p&gt;2. Add the IIS role with the following settings (carry out the tasks in the order shown below):&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Add ASP.Net Role. Accept defaults.&lt;/li&gt;      &lt;li&gt;Add ASP (required for ConfigMgr Reporting Point to function - thanks to &lt;a href="http://jensolekragh.spaces.live.com/"&gt;Jens Ole Kragh&lt;/a&gt; for pointing this out)&lt;/li&gt;      &lt;li&gt;Add Windows Authentication&lt;/li&gt;      &lt;li&gt;Add Static Content &lt;/li&gt;      &lt;li&gt;Add IIS 6 Management Compatibility and all of the sub-components of it.&lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;3. Add the Remote Differential Compression feature&lt;/p&gt;    &lt;p&gt;4. Add the BITS Server Extensions feature&lt;/p&gt;    &lt;p&gt;5. Install the Microsoft WebDAV Extension for IIS 7.0 (x86) (location for download listed at the beginning of this article)&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Use the instructions at &lt;a href="http://technet.microsoft.com/en-us/library/cc431377(TechNet.10).aspx"&gt;http://technet.microsoft.com/en-us/library/cc431377(TechNet.10).aspx&lt;/a&gt; to configure WebDav. You will need to follow Steps 4 and 5 in this document under the section &amp;#8220;Install and Configure WebDAV&amp;#8221;&lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;____________________________________________________________________________________________________________________&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;WebDAV UPDATE:&lt;/strong&gt; In some circumstances, WebDAV may not configure correctly when installed as per the instructions. This then causes the issue that clients cannot install via the push method. In this case follow these steps:&lt;/p&gt;    &lt;p&gt;1. Open&lt;strong&gt; %windir%\system32\inetserv\config\applicationhost.config&lt;/strong&gt; in your favourite text editor&lt;/p&gt;    &lt;p&gt;2. Between the entries &lt;strong&gt;&amp;lt;add name=&amp;#8221;optionsverbhandler&amp;#8230;&amp;gt;&lt;/strong&gt; and &lt;strong&gt;&amp;lt;add name=&amp;#8221;staticfile&amp;#8230;&amp;gt;&lt;/strong&gt; (you will find these entries in the &amp;lt;handlers&amp;gt;&amp;lt;/handlers&amp;gt; section) add the following line&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&amp;lt;add name=&amp;quot;WebDAV&amp;quot; path=&amp;quot;*&amp;quot; verb=&amp;quot;PROPFIND,PROPPATCH,MKCOL,PUT,COPY,DELETE,MOVE,LOCK,UNLOCK&amp;quot; modules=&amp;quot;WebDAVModule&amp;quot; resourceType=&amp;quot;Unspecified&amp;quot; requireAccess=&amp;quot;None&amp;quot; /&amp;gt;&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;Your section should look like this:&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&amp;lt;add name=&amp;#8221;optionsverbhandler&amp;#8230;...&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&amp;lt;add name=&amp;quot;WebDAV&amp;quot; path=&amp;quot;*&amp;quot; verb=&amp;quot;PROPFIND,PROPPATCH,MKCOL,PUT,COPY,DELETE,MOVE,LOCK,UNLOCK&amp;quot; modules=&amp;quot;WebDAVModule&amp;quot; resourceType=&amp;quot;Unspecified&amp;quot; requireAccess=&amp;quot;None&amp;quot; /&amp;gt;&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&amp;lt;add name=&amp;#8221;staticfile&amp;#8230;....&lt;/strong&gt; &lt;/p&gt;    &lt;p&gt;3. Close the file and save it back as &lt;strong&gt;%windir%\system32\inetserv\config\applicationhost.config&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;I'm indebted to one of my MCS colleagues - &lt;strong&gt;John Husband&lt;/strong&gt; for finding a fix for this issue and letting us know)&lt;/p&gt;    &lt;p&gt;____________________________________________________________________________________________________________________&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;b&gt;Step 3 &amp;#8211; Add Additional Non Windows Server 2008 Components&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Now that Windows Server 2008 is configured to install ConfigMgr 2007 we now have to add some additional software services for use by ConfigMgr 2007&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;1. Install Windows Software Update Services 3.0 SP1 32bit (location for download listed at the beginning of this article)&lt;/p&gt;    &lt;p&gt;2. Install SQL 2005&lt;/p&gt;    &lt;p&gt;3. Install SQL 2005 SP2 (location for download listed at the beginning of this article - carry out the tasks in the order shown below):&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Stop the SQLServer service in preparation for SP2 installation. This is to avoid a system restart.&lt;/li&gt;      &lt;li&gt;As suggested by SQL SP2 setup wizard, launch sqlprov &lt;/li&gt;      &lt;li&gt;Run services.msc and re-start the SQL 2005 service.&lt;/li&gt;      &lt;li&gt;Add a domain account to the SQL sysadmin role. This is unique requirement in Server 2008 environment.&lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;4. Install SQL Critical Update 934458 (location for download listed at the beginning of this article)&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;b&gt;Step 4 &amp;#8211; Install ConfigMgr 2007&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Now we are ready to install ConfigMgr 2007 &amp;#8211; this is a two stage process to first install ConfigMgr 2007 RTM and then apply ConfigMgr 2007 SP1 &amp;#8211; if you have access to the SP1 slipstreamed version of ConfigMgr 2007 then you can skip step 2 below. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;1. Install ConfigMgr 2007&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Extend the schema by running the \smssetup\bin\i386\extadsch utility. Run this under Enterprise Administrator credentials and review c:\extadsch.log for results.&lt;/li&gt;      &lt;li&gt;Either use an Internet connection (for auto-download) or a pre-staged folder for setup update files required by ConfigMgr setup application.&lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;2. Install ConfigMgr 2007 SP1 (location for download listed at the beginning of this article) and the ConfigMgr 2007 R2 components (if available via your licence agreement). &lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Either use Internet connection (for auto-download) or a pre-staged folder for setup update files required by ConfigMgr SP1 setup application.&lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;&lt;strong&gt;NOTE: &lt;/strong&gt;SP1 is the minimum requirement for running ConfigMgr 2007 on Windows Server 2008 - however ConfigMgr 2007 R2 will give you additional deployment features such as integration with Application Virtualization Management (APP-V), unknown computer support and multicast integration with Windows Deployment Services (Windows DS)&lt;/p&gt;    &lt;p&gt;3. After installation, add the PXE Service Point and Reporting Point site system roles. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;That's it - you are now ready to start using all the lovely features of ConfigMgr 2007 SP1 or ConfigMgr 2007 R2 based on a Windows Server 2008 platform - simple wasn't it? :-)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This post was contributed by &lt;b&gt;Richard Smith&lt;/b&gt; a Senior Consultant with Microsoft Services, UK.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3102182" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/deploymentguys/archive/tags/ConfigMgr/default.aspx">ConfigMgr</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Configuration+Manager/default.aspx">Configuration Manager</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Support/default.aspx">Support</category></item><item><title>Useful Script Number 6 - Pausing the Task Sequence</title><link>http://blogs.technet.com/deploymentguys/archive/2008/07/07/useful-script-number-6-pausing-the-task-sequence.aspx</link><pubDate>Mon, 07 Jul 2008 19:59:18 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3084983</guid><dc:creator>DeploymentGuys</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.technet.com/deploymentguys/comments/3084983.aspx</comments><wfw:commentRss>http://blogs.technet.com/deploymentguys/commentrss.aspx?PostID=3084983</wfw:commentRss><wfw:comment>http://blogs.technet.com/deploymentguys/rsscomments.aspx?PostID=3084983</wfw:comment><description>&lt;p&gt;Have you ever wanted to pause the task sequence in MDT 2008 or ConfigMgr 2007 for a few seconds while something catches up...? I had a requirement to do this recently where I ran a &lt;a href="http://blogs.technet.com/deploymentguys/archive/2008/04/18/useful-script-number-3-turning-the-windows-vista-sidebar-on-and-off.aspx"&gt;task to close and cancel the Windows Sidebar&lt;/a&gt; at the start of the State Restore phase of the task sequencer and then turn the Windows Sidebar back on again at the end of the State Restore phase - I was doing this as the Windows Sidebar can sometimes get in the way of some customisation scripts and you can also see peculiar VB messages when 2007 Office System updates are applied. When the Windows Sidebar is turned back on, there is a couple of seconds before the Sidebar actually appears - yet my task for turning on the Sidebar had returned and the task sequence had moved on...it made be think that there may be other situations where a slight delay in returning to the task sequence may be useful - sure you could add sleep commands to the scripts that your running as commands - but that doesn't help with the tasks that are not scripted - so here is an MDT based script that will pause the task sequence for a specified number of seconds (specified on the command line)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;I first have a couple of variables to store the time to pause (strTime) and the script name (strSName - for logging purposes) and the integer argument for the sleep method&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Dim strTime, strSName, IntTime&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier"&gt;&lt;font face="Courier New"&gt;ZTIProcess=1&lt;/font&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;...I then use a call to ZTIUtility.wsf to set the script name to the strSName variable - this is then used to insert the script name at the start of each line in the log.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier"&gt;&lt;font face="Courier New"&gt;strSName=oUtility.ScriptName&lt;/font&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;...then it's another call to ZTIUtility.wsf to use the arguments class - this makes passing input to the script via the command line easy - in this case I am setting a command line input called &amp;quot;Time&amp;quot; &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;strTime = oUtility.Arguments(&amp;quot;Time&amp;quot;) &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier"&gt;&lt;font face="Courier New"&gt;oLogging.CreateEntry strSName &amp;amp; &amp;quot;: Starting Actions ********************************************* &amp;quot;,LogTypeInfo&lt;/font&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;...then I check that Time has been specified as a command line input (exit if not) or set the IntTime to number of seconds from the command line x 1000 to get milliseconds&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;If strTime=&amp;quot;&amp;quot; Then      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; oLogging.CreateEntry strSName &amp;amp; &amp;quot;: No pause time was specified on the command line.&amp;quot;,LogTypeError       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ZTIProcess=90       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Exit Function       &lt;br /&gt;Else       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; oLogging.CreateEntry strSName &amp;amp; &amp;quot;: Pause time has been set to &amp;quot; &amp;amp; strTime &amp;amp; &amp;quot; seconds&amp;quot;,LogTypeInfo&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier"&gt;&lt;font face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160; IntTime = strTime * 1000&amp;#160; &lt;br /&gt;End if&lt;/font&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;...I then take the intTime (in milliseconds) and add it to the sleep method to pause the script&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;oLogging.CreateEntry strSName &amp;amp; &amp;quot;: Task Sequence will pause for &amp;quot; &amp;amp; int(IntTime/1000) &amp;amp; &amp;quot; seconds&amp;quot;,LogTypeInfo &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;wscript.sleep intTime &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;oLogging.CreateEntry strSName &amp;amp; &amp;quot;: Task Sequence has been paused for &amp;quot; &amp;amp; int(IntTime/1000) &amp;amp; &amp;quot; seconds - returning control to the Task Sequence now&amp;quot;,LogTypeInfo &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier"&gt;&lt;font face="Courier New"&gt;oLogging.CreateEntry strSName &amp;amp; &amp;quot;: Completed Actions ********************************************* &amp;quot;,LogTypeInfo        &lt;br /&gt;ZTIProcess = 0         &lt;br /&gt;End Function&lt;/font&gt; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;The script is called &lt;strong&gt;CFG-TSPause.wsf&lt;/strong&gt; so the command line to run it would be &lt;strong&gt;CFG-TSPause.wsf /Time:xx&lt;/strong&gt; (where xx = the number of seconds that you want to pause the task sequence for) Drop the script into your &lt;strong&gt;&amp;lt;Deployment Share&amp;gt;\Scripts&lt;/strong&gt; directory. You can then add the script anywhere in your task sequence by adding a &lt;strong&gt;Run Command Line task&lt;/strong&gt; and specifying the script and the command line input for the number of seconds you want to pause.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/UsefulScriptNumber6PausingtheTaskSequenc_FCEF/image_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="519" alt="image" src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/UsefulScriptNumber6PausingtheTaskSequenc_FCEF/image_thumb.png" width="572" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;As usual, the full script is up on the Deployment Guys SkyDrive:&lt;/p&gt;  &lt;p&gt;&lt;/p&gt; &lt;iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 66px; background-color: #ffffff" marginwidth="0" marginheight="0" src="http://cid-7be6feba9e7c999c.skydrive.live.com/embedrowdetail.aspx/DeploymentGuys/CFG-TSPause.zip" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;  &lt;p&gt;This post was contributed by &lt;b&gt;Richard Smith&lt;/b&gt; a Senior Consultant with Microsoft Services, UK.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3084983" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/deploymentguys/archive/tags/BDD+2007/default.aspx">BDD 2007</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Microsoft+Deployment/default.aspx">Microsoft Deployment</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/SCCM+2007/default.aspx">SCCM 2007</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/ConfigMgr/default.aspx">ConfigMgr</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Scripts/default.aspx">Scripts</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Deployment/default.aspx">Deployment</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category></item><item><title>SCCM 2007 and Microsoft Deployment Toolkit - Video Walkthrough</title><link>http://blogs.technet.com/deploymentguys/archive/2008/03/20/sccm-2007-and-microsoft-deployment-toolkit-video-walkthrough.aspx</link><pubDate>Thu, 20 Mar 2008 11:35:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3015700</guid><dc:creator>DeploymentGuys</dc:creator><slash:comments>43</slash:comments><comments>http://blogs.technet.com/deploymentguys/comments/3015700.aspx</comments><wfw:commentRss>http://blogs.technet.com/deploymentguys/commentrss.aspx?PostID=3015700</wfw:commentRss><wfw:comment>http://blogs.technet.com/deploymentguys/rsscomments.aspx?PostID=3015700</wfw:comment><description>&lt;P&gt;Are you struggling with setting up SCCM 2007 Operating System Deployment and integrating MDT? - I have created a video walkthrough that shows you how to:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Setup the server environment for SCCM 2007 OS deployment &lt;/LI&gt;
&lt;LI&gt;Configure the SCCM 2007 Site Settings &lt;/LI&gt;
&lt;LI&gt;Configure the SCCM 2007 Computer Management Settings &lt;/LI&gt;
&lt;LI&gt;Configure the SCCM 2007 Operating System Deployment Settings &lt;/LI&gt;
&lt;LI&gt;Setup and use MDT integration with SCCM 2007 &lt;/LI&gt;
&lt;LI&gt;Add a reference machine object to SCCM 2007 &lt;/LI&gt;
&lt;LI&gt;Create a build and capture reference image for mass deployment using SCCM 2007 &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A href="http://wm.microsoft.com/ms/SAT/ricsmith/SCCM2007%20and%20Microsoft%20Deployment%20Toolkit%20Setup%20and%20Config.wmv" mce_href="http://wm.microsoft.com/ms/SAT/ricsmith/SCCM2007%20and%20Microsoft%20Deployment%20Toolkit%20Setup%20and%20Config.wmv"&gt;View the SCCM and MDT Video Walkthrough from the Windows Media Servers here!&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://edge.technet.com/Media/System-Center-Configuration-Manager-2007-and-Microsoft-Deployment-Toolkit-Screencast/" mce_href="http://edge.technet.com/Media/System-Center-Configuration-Manager-2007-and-Microsoft-Deployment-Toolkit-Screencast/"&gt;View the SCCM and MDT Video Walkthrough from the TechNet Edge Media Servers here!&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;This post was contributed by &lt;B&gt;Richard Smith&lt;/B&gt; a Senior Consultant with Microsoft Services, UK.&lt;/I&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3015700" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/deploymentguys/archive/tags/SCCM+2007/default.aspx">SCCM 2007</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/ConfigMgr/default.aspx">ConfigMgr</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Video+Walkthrough/default.aspx">Video Walkthrough</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/MDT/default.aspx">MDT</category></item><item><title>Driver Management (Part 1) - Configuration Manager</title><link>http://blogs.technet.com/deploymentguys/archive/2008/02/15/driver-management-part-1-configuration-manager.aspx</link><pubDate>Fri, 15 Feb 2008 12:08:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2893988</guid><dc:creator>BenHunter</dc:creator><slash:comments>49</slash:comments><comments>http://blogs.technet.com/deploymentguys/comments/2893988.aspx</comments><wfw:commentRss>http://blogs.technet.com/deploymentguys/commentrss.aspx?PostID=2893988</wfw:commentRss><wfw:comment>http://blogs.technet.com/deploymentguys/rsscomments.aspx?PostID=2893988</wfw:comment><description>&lt;P&gt;I am often asked what the best way is to manage drivers with both BDD/MDT and ConfigMgr. With this in mind I thought I would create two blog posts dealing with this topic. The first post (this one) will cover ConfigMgr and the second BDD/MDT driver management.&lt;/P&gt;
&lt;P&gt;Please note this is not the only way to manage drivers, there are many different ways to manage drivers. However this is an approach that I have used many times with much success.&lt;/P&gt;
&lt;H2&gt;Overview&lt;/H2&gt;
&lt;P&gt;Before I get into the details I would like to provide a quick overview of driver management.&lt;/P&gt;
&lt;P&gt;The first thing we must understand is the type of drivers that you need to manage. I place drivers into two categories:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;NICE Drivers&lt;/STRONG&gt; - Drivers that install using an INF file. &lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;BAD Drivers&lt;/STRONG&gt; - Drivers that must be "installed" - This could be a Bluetooth driver, finger print reader software or even DVD software that is specific to a particular model type. I also refer to these drivers as "Hardware based applications". &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Next we need to understand where drivers are used during the deployment process. There are two areas where they are used:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;Host OS&lt;/STRONG&gt; - These are drivers that are installed on the Host OS. &lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Boot images&lt;/STRONG&gt; - These are drivers that are required by the ConfigMgr Windows PE boot images to enable OS deployment. The key driver types are network and mass storage drivers. &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Finally we need to understand the options ConfigMgr provides for installing drivers. Whenever you import drivers you must add them to a driver package. Once the drivers have been added to a package there are two methods you can use to install the drivers:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;Auto apply drivers&lt;/STRONG&gt; - Driver packages are primarily for distribution purposes. ConfigMgr performs a PnP scan of the computer and chooses which drivers to install from all available drivers in all available driver packages.&amp;nbsp; You can filter by driver categories, is tells ConfigMgr to only consider certain categories when choosing drivers. &lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Apply driver package&lt;/STRONG&gt; - All the drivers in the package are injected, whether they are needed or not. &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;So now that I have covered the basics lets discuss how I manage drivers.&lt;/P&gt;
&lt;H2&gt;Process&lt;/H2&gt;
&lt;P&gt;I find the simplest way to describe how I manage drivers is by using an example. The example I will use I perhaps the most common scenario in OS deployment, adding support for a new hardware model.&lt;/P&gt;
&lt;P&gt;At a high level the process involves the following steps:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Create a new package that contains all of the required drivers for this hardware type &lt;/LI&gt;
&lt;LI&gt;Add an “Apply driver package” task to the task sequence with a WMI filter based on model type &lt;/LI&gt;
&lt;LI&gt;If required I configure the “Apply driver package” to apply a Mass Storage driver &lt;/LI&gt;
&lt;LI&gt;Create an application for each driver that must be installed &lt;/LI&gt;
&lt;LI&gt;Add all applications to the task sequence with a WMI filter based on model type &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;I can hear everyone asking the question, why do I use the &lt;EM&gt;"Apply driver package" &lt;/EM&gt;process rather than the &lt;EM&gt;"Auto apply drivers"&lt;/EM&gt; process? Well nice of you to ask, I appreciate the flexibility that the "&lt;EM&gt;Auto Apply Drivers"&lt;/EM&gt; action gives but it does not cover all scenarios. I prefer to use one method of driver installation that will install all drivers (simple is best). The two scenarios that are not covered by "&lt;EM&gt;Auto apply drivers"&lt;/EM&gt; process are:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Devices that aren’t found by a PnP scan such as USB devices, multi level drivers and devices not enabled during deployment (like Bluetooth).&amp;nbsp; &lt;/LI&gt;
&lt;LI&gt;Mass Storage drivers.&amp;nbsp; On pre Vista operating systems, boot critical drivers have to be installed with Apply Driver Package. &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;The second obvious question is what is a WMI filter and why do we use it? You cannot add one “Apply driver package” task to the task sequence that will automatically determine the hardware and install only the package you require (this is what I would like :)). So to get around this issue you need to add an &lt;EM&gt;"Apply driver package"&lt;/EM&gt;&amp;nbsp; task to the task sequence for each hardware type. You do not want to apply every package to every machine so we need some way of ensuring that each package is installed on the correct hardware type only. Fortunately ConfigMgr has the ability to filter tasks based on a WMI query.&lt;/P&gt;
&lt;P&gt;It is also worth noting that if a Mass storage is required for a particular hardware type then ConfigMgr will inject it for you! This was not previously possible with pre Vista operating systems. This is one of my favourite features of ConfigMgr.&lt;/P&gt;
&lt;H2&gt;Steps&lt;/H2&gt;
&lt;P&gt;So enough of all this talk lets get down to the actual steps required to implement driver management.&lt;/P&gt;
&lt;H3&gt;Create a driver package (GOOD Drivers)&lt;/H3&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;1.&amp;nbsp; Gather together all of the good drivers for the new hardware type and place them in a folder. &lt;/P&gt;
&lt;P&gt;2.&amp;nbsp; Open the deployment console and Navigate to &lt;STRONG&gt;Site Database - Computer Management - Operating System Deployment - Drivers&lt;/STRONG&gt; &lt;/P&gt;
&lt;P&gt;3.&amp;nbsp; Right click on &lt;STRONG&gt;Drivers &lt;/STRONG&gt;and select &lt;STRONG&gt;Import&lt;/STRONG&gt; (This will launch the Import new driver wizard)&lt;/P&gt;
&lt;P&gt;4.&amp;nbsp; On the &lt;STRONG&gt;Locate Driver&lt;/STRONG&gt; screen select &lt;STRONG&gt;Import all drivers in the following network path (UNC) &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;5.&amp;nbsp; Specify a UNC path to your drivers folder in the &lt;STRONG&gt;Source folder&lt;/STRONG&gt; field and click &lt;STRONG&gt;Next&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;6.&amp;nbsp; On the &lt;STRONG&gt;Driver Details &lt;/STRONG&gt;screen ensure all drivers are selected and click &lt;STRONG&gt;Next&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;7.&amp;nbsp; On the &lt;STRONG&gt;Add Driver to Packages &lt;/STRONG&gt;screen click &lt;STRONG&gt;New Package&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;8.&amp;nbsp; On the &lt;STRONG&gt;New Driver Package &lt;/STRONG&gt;window update the &lt;STRONG&gt;Package Name &lt;/STRONG&gt;filed will an appropriate name (e.g. Toshiba - Tecra M5)&lt;/P&gt;
&lt;P&gt;9.&amp;nbsp; Update the &lt;STRONG&gt;Driver Package Source&lt;/STRONG&gt; field with an appropriate location, this will most likely be stored with your other packages. Click &lt;STRONG&gt;Next.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;10. If you need to add any network or mass storage drivers to your boot images then perform the following step. On the &lt;STRONG&gt;Add Driver to Boot Images &lt;/STRONG&gt;screen select any boot images that require the updated drivers and click &lt;STRONG&gt;Next&lt;/STRONG&gt;. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;NOTE:&lt;/EM&gt;&lt;/STRONG&gt; You will need to update the boot image distribution points for this change to take effect. &lt;/P&gt;
&lt;P&gt;11.&amp;nbsp; At the &lt;STRONG&gt;Summary&lt;/STRONG&gt; &lt;STRONG&gt;Progress &lt;/STRONG&gt;and &lt;STRONG&gt;Confirmation &lt;/STRONG&gt;screens accept the default settings and &lt;STRONG&gt;Close&lt;/STRONG&gt; the wizard.&lt;/P&gt;
&lt;P&gt;12. Once you have created your driver package then you should assign it to distribution points at all sites where this hardware type is deployed. &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;H3&gt;Add driver package to the task sequence&lt;/H3&gt;
&lt;P&gt;Once we have created the driver package we need to add it to our task sequence.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;1.&amp;nbsp; Create a folder that will contain all of your &lt;EM&gt;"Apply Driver Package"&lt;/EM&gt; tasks. This folder must be added before the &lt;EM&gt;Setup windows and ConfigMgr&lt;/EM&gt; task. When I have a group of similar tasks to add to the task sequence then I create a folder for these tasks. This is shown in the screen shot below.&lt;/P&gt;
&lt;P&gt;2.&amp;nbsp; Add an&lt;EM&gt;&lt;STRONG&gt;"Apply Driver Package"&lt;/STRONG&gt;&lt;/EM&gt; task to this folder specifying the driver package that you have created in the previous step. If this model type requires a mass storage driver then select it as shown below.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/ConfigurationManagerDriverManagement_CD0A/image_6.png" mce_href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/ConfigurationManagerDriverManagement_CD0A/image_6.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=480 alt=image src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/ConfigurationManagerDriverManagement_CD0A/image_thumb_2.png" width=520 border=0 mce_src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/ConfigurationManagerDriverManagement_CD0A/image_thumb_2.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;3.&amp;nbsp; Next we need to add a WMI condition to this task.&amp;nbsp; The first thing we need to do is determine the value of the WMI model field for our hardware type. I have found the simplest way to do this is via a WMIC query. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#000000&gt;The &lt;/FONT&gt;following steps detail how to perform a WMI, ensure that these steps are run on the new hardware &lt;STRONG&gt;NOT&lt;/STRONG&gt; the server:&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a. Open a &lt;B&gt;Command Prompt&lt;/B&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b. Type &lt;B&gt;WMIC&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c. To determine the Model, type &lt;B&gt;CSProduct Get Name&lt;/B&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;4. Select the task &lt;STRONG&gt;Options &lt;/STRONG&gt;tab&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;5. Select the &lt;STRONG&gt;Add condition&lt;/STRONG&gt; drop down menu and select &lt;STRONG&gt;Query WMI.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/ConfigurationManagerDriverManagement_CD0A/image_12.png" mce_href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/ConfigurationManagerDriverManagement_CD0A/image_12.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=480 alt=image src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/ConfigurationManagerDriverManagement_CD0A/image_thumb_5.png" width=520 border=0 mce_src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/ConfigurationManagerDriverManagement_CD0A/image_thumb_5.png"&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;6. Add the following text to the &lt;STRONG&gt;WQL Query &lt;/STRONG&gt;field where &amp;lt;MODEL&amp;gt; is replaced by the WMI value for your hardware type - &lt;EM&gt;SELECT * FROM Win32_ComputerSystem WHERE Model LIKE "%&amp;lt;MODEL&amp;gt;%"&lt;/EM&gt; and click &lt;STRONG&gt;OK&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;NOTE: &lt;/STRONG&gt;&lt;/EM&gt;For some model types there can numerous variations of the WMI model value. For example the HP D530 or many IBM computers. In these scenarios you can specify part of the value in the &amp;lt;MODEL&amp;gt; field. For example when the WMI value for a HP D530 is "HP D530 [ABC12345]"&amp;nbsp; then you can specify "HP D530".&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/ConfigurationManagerDriverManagement_CD0A/image_10.png" mce_href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/ConfigurationManagerDriverManagement_CD0A/image_10.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=259 alt=image src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/ConfigurationManagerDriverManagement_CD0A/image_thumb_1.png" width=449 border=0 mce_src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/ConfigurationManagerDriverManagement_CD0A/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;H3&gt;Install Hardware based applications (BAD Drivers)&lt;/H3&gt;
&lt;P&gt;The last part of the driver management puzzle is the BAD Drivers or hardware based applications.&lt;/P&gt;
&lt;P&gt;The first thing you need to do is create an application in ConfigMgr that will install the application. I will not provide step by step guidance on this process but it is important that the following two settings are enabled:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;1.&amp;nbsp; The program must be set to run "Whether or not a user is logged on"&lt;/P&gt;
&lt;P&gt;2.&amp;nbsp; The option "Allow this program to be installed from the Install Software task sequence without being advertised" must be enabled&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Once you have created the application you need to add it to our task sequence.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;1.&amp;nbsp; Create a folder that will contain all of your &lt;EM&gt;"Application Installation"&lt;/EM&gt; tasks. This folder must be added after the &lt;EM&gt;Setup windows and ConfigMgr&lt;/EM&gt; task. I usually call this folder "Hardware Based Applications".&lt;/P&gt;
&lt;P&gt;2.&amp;nbsp; Create a folder within the folder you created in the previous step. This folder should be named after the hardware type (e.g. Toshiba - Tecra M5). &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;NOTE:&lt;/EM&gt; &lt;/STRONG&gt;When installing hardware based applications I create a folder for each hardware type that contains all of the applications for that hardware type. I then apply the WMI conditions to the folder, &lt;STRONG&gt;NOT &lt;/STRONG&gt;the application.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/ConfigurationManagerDriverManagement_CD0A/image_18.png" mce_href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/ConfigurationManagerDriverManagement_CD0A/image_18.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=484 alt=image src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/ConfigurationManagerDriverManagement_CD0A/image_thumb_7.png" width=524 border=0 mce_src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/ConfigurationManagerDriverManagement_CD0A/image_thumb_7.png"&gt;&lt;/A&gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;4.&amp;nbsp; Next we need to add a WMI condition to this folder. &lt;/P&gt;
&lt;P&gt;5.&amp;nbsp; Select the task &lt;STRONG&gt;Options &lt;/STRONG&gt;tab&lt;/P&gt;
&lt;P&gt;6.&amp;nbsp; Select the &lt;STRONG&gt;Add condition&lt;/STRONG&gt; drop down menu and select &lt;STRONG&gt;Query WMI.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;7.&amp;nbsp; Add the following text to the &lt;STRONG&gt;WQL Query &lt;/STRONG&gt;field replacing &amp;lt;MODEL&amp;gt; with the WMI value for your hardware type - &lt;EM&gt;SELECT * FROM Win32_ComputerSystem WHERE Model LIKE "%&amp;lt;MODEL&amp;gt;%"&lt;/EM&gt; and click &lt;STRONG&gt;OK&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;8.&amp;nbsp; Add an&lt;EM&gt;&lt;STRONG&gt;"Install Software"&lt;/STRONG&gt;&lt;/EM&gt; task to this folder specifying the application that you have created in the previous step. &lt;/P&gt;
&lt;P&gt;9. Repeat this process for all hardware based applications!&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So that's how I manage drivers .... simple :) &lt;/P&gt;
&lt;P&gt;For more information no driver management please refer to the &lt;A href="http://technet.microsoft.com/en-us/library/bb693985.aspx" mce_href="http://technet.microsoft.com/en-us/library/bb693985.aspx"&gt;ConfigMgr online documentation library&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Driver Management (Part 2) - BDD/MDT will be coming shortly to the deployment guys.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;This post was contributed by &lt;STRONG&gt;Ben Hunter &lt;/STRONG&gt;a Consultant with Microsoft Services New Zealand.&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=2893988" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/deploymentguys/archive/tags/ConfigMgr/default.aspx">ConfigMgr</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Configuration+Manager/default.aspx">Configuration Manager</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Driver+Management/default.aspx">Driver Management</category></item></channel></rss>