<?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 : Tips and Tricks</title><link>http://blogs.technet.com/deploymentguys/archive/tags/Tips+and+Tricks/default.aspx</link><description>Tags: Tips and Tricks</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Preventing OEM builds from Accidentally Performing Mini-Setup without the Task Sequence</title><link>http://blogs.technet.com/deploymentguys/archive/2009/12/01/preventing-oem-builds-from-accidentally-performing-mini-setup-without-the-task-sequence.aspx</link><pubDate>Tue, 01 Dec 2009 16:48:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3297619</guid><dc:creator>DeploymentGuys</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/deploymentguys/comments/3297619.aspx</comments><wfw:commentRss>http://blogs.technet.com/deploymentguys/commentrss.aspx?PostID=3297619</wfw:commentRss><wfw:comment>http://blogs.technet.com/deploymentguys/rsscomments.aspx?PostID=3297619</wfw:comment><description>When you pre-load an OEM build on machines, they are usually set-up to perform Mini-setup as soon as they come up. Customers sometimes have difficulties ensuring that these machines boot to WinPE using boot media or PXE rather than simply performing Mini-setup...(&lt;a href="http://blogs.technet.com/deploymentguys/archive/2009/12/01/preventing-oem-builds-from-accidentally-performing-mini-setup-without-the-task-sequence.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3297619" width="1" height="1"&gt;</description><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/Windows+Vista/default.aspx">Windows Vista</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>Keeping An Eye On USMT Progress v0.2</title><link>http://blogs.technet.com/deploymentguys/archive/2009/09/02/keeping-an-eye-on-usmt-progress-v0-2.aspx</link><pubDate>Wed, 02 Sep 2009 18:41:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3278746</guid><dc:creator>Daniel Oxley</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.technet.com/deploymentguys/comments/3278746.aspx</comments><wfw:commentRss>http://blogs.technet.com/deploymentguys/commentrss.aspx?PostID=3278746</wfw:commentRss><wfw:comment>http://blogs.technet.com/deploymentguys/rsscomments.aspx?PostID=3278746</wfw:comment><description>&lt;P&gt;Back in June I &lt;A href="http://blogs.technet.com/deploymentguys/archive/2009/06/26/keeping-an-eye-on-usmt-progress.aspx" mce_href="http://blogs.technet.com/deploymentguys/archive/2009/06/26/keeping-an-eye-on-usmt-progress.aspx"&gt;posted&lt;/A&gt; a script that I’d written that displays the progress of the USMT capture and recover phases in a neat HTML window off to one side of the screen; particularly useful if you are capturing/recovering large amounts of data because otherwise it looked like the USMT progress had hung due to the progress bar not moving along for quite some time.&lt;/P&gt;
&lt;P&gt;While the script I wrote worked fine I was not 100% happy with it, mostly because it ate up too many CPU cycles, which could sometimes slow down the actual USMT progress; an effect that you would never want to happen!&amp;nbsp; The problem was that there was no quick and easy way to parse the last few lines of a text file in VBScript without first reading in all the previous lines.&amp;nbsp; This meant that as the log file grew, my script took longer and longer to run.&amp;nbsp; So, I took it back to the drawing board, and reworked the innards of it to produce version 0.2!&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/KeepingAnEyeOnUSMTProgress2_F67E/shot_2.jpg" mce_href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/KeepingAnEyeOnUSMTProgress2_F67E/shot_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title=shot border=0 alt=shot src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/KeepingAnEyeOnUSMTProgress2_F67E/shot_thumb.jpg" width=334 height=154 mce_src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/KeepingAnEyeOnUSMTProgress2_F67E/shot_thumb.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;This time, the script runs extremely quickly and it will barely register on the CPU, meaning that it shouldn’t slow anything else down.&amp;nbsp; It still requires the same parameters to be passed to it when adding to the task sequence, which are detailed below.&amp;nbsp; To add it to the task sequence, simply add the following &lt;STRONG&gt;Run Command Line&lt;/STRONG&gt; action before the USMT capture or restore actions (or both):&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;cmd.exe /c “start /MIN cscript.exe Z:\Scripts\CUSTOM_USMT_Tracker.vbs C:\MININT\SMSOSD\OSDLOGS\USMTCapture.prg”&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;cmd.exe /c “start /MIN cscript.exe Z:\Scripts\CUSTOM_USMT_Tracker.vbs C:\MININT\SMSOSD\OSDLOGS\USMTRestore.prg”&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;It also has one other very important dependency.&amp;nbsp; You must download &lt;STRONG&gt;tail.exe&lt;/STRONG&gt; from the Windows Resource Kit and place it in the Tools folder of the MDT deployment share, along with this script.&amp;nbsp; You can get the tool &lt;A href="http://www.microsoft.com/downloads/details.aspx?DisplayLang=en&amp;amp;FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd" mce_href="http://www.microsoft.com/downloads/details.aspx?DisplayLang=en&amp;amp;FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd"&gt;here&lt;/A&gt;, it doesn’t matter that it is the 2003 version, I have tested it on Windows 7 and it works fine.&amp;nbsp; If you don’t put tail.exe in the tools folder, then the script will fail.&lt;/P&gt;
&lt;P&gt;The next update might take a while to get round to doing, but I want to remove the requirements for the command-line parameter, and have the script find the progress file on it’s own.&amp;nbsp; Also, it would be good to display more information rather than just the current position in the progress, perhaps an extra line that informs what the current task is that is being run.&amp;nbsp; Also, a few cosmetic changes wouldn't go amiss, but I am a techie not a graphic designer!&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Attached to this post is the script file.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;/EM&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;This post was contributed by &lt;STRONG&gt;Daniel Oxley&lt;/STRONG&gt; a consultant with Microsoft Consulting Services Spain&lt;/EM&gt;&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;img src="http://blogs.technet.com/aggbug.aspx?PostID=3278746" width="1" height="1"&gt;</description><enclosure url="http://blogs.technet.com/deploymentguys/attachment/3278746.ashx" length="2751" type="application/octet-stream" /><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/Tips+and+Tricks/default.aspx">Tips and Tricks</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/MDT/default.aspx">MDT</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/USMT/default.aspx">USMT</category></item><item><title>Sharing some simple HTAs</title><link>http://blogs.technet.com/deploymentguys/archive/2009/03/26/sharing-some-simple-htas.aspx</link><pubDate>Thu, 26 Mar 2009 16:06:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3218435</guid><dc:creator>Daniel Oxley</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/deploymentguys/comments/3218435.aspx</comments><wfw:commentRss>http://blogs.technet.com/deploymentguys/commentrss.aspx?PostID=3218435</wfw:commentRss><wfw:comment>http://blogs.technet.com/deploymentguys/rsscomments.aspx?PostID=3218435</wfw:comment><description>&lt;P&gt;I was recently asked to share these files with a colleague, so I thought I would also share them with everyone via our blog.&amp;nbsp; I developed them a while ago for a deployment project and I have since used them a few times more.&lt;/P&gt;
&lt;P&gt;Basically, they are 3 very simple HTA (HTML application) files that prompt the user for information in order to configure either a static IP address, change the local administrator password, or add a computer to a domain.&amp;nbsp; Of course, all of these actions can be accomplished directly via MDT, but I had to create them for a very specific reason where MDT could not be used to for this.&amp;nbsp; They were developed for a Windows XP deployment, so they have not been tested on Windows Vista but I can’t see why they would not work, as long as you ran them elevated.&amp;nbsp; You can be launch them directly from the task sequence in MDT by using the following command:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;mshta.exe CUSTOM_Config_Network.hta&lt;/EM&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;STRONG&gt;CUSTOM_Config_Network.hta&lt;/STRONG&gt;&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/SimpleHTAs_C242/image_10.png" mce_href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/SimpleHTAs_C242/image_10.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/SimpleHTAs_C242/image_thumb_4.png" width=231 height=244 mce_src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/SimpleHTAs_C242/image_thumb_4.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P align=center&gt;&lt;STRONG&gt;CUSTOM_Config_PWD.hta&lt;/STRONG&gt;&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/SimpleHTAs_C242/image_8.png" mce_href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/SimpleHTAs_C242/image_8.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/SimpleHTAs_C242/image_thumb_3.png" width=244 height=185 mce_src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/SimpleHTAs_C242/image_thumb_3.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P align=center&gt;&lt;STRONG&gt;CUSTOM_Config_Domain.hta&lt;/STRONG&gt;&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/SimpleHTAs_C242/image_12.png" mce_href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/SimpleHTAs_C242/image_12.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/SimpleHTAs_C242/image_thumb_5.png" width=244 height=155 mce_src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/SimpleHTAs_C242/image_thumb_5.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;I have attached the 3 files to this post in a zip file.&amp;nbsp; Please bare in mind that they are pretty simple and don’t have the error checking for every possible error that might occur, so use at your own risk!&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;This post was contributed by &lt;STRONG&gt;Daniel Oxley&lt;/STRONG&gt; a consultant with Microsoft Services Spain&lt;/EM&gt;&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;img src="http://blogs.technet.com/aggbug.aspx?PostID=3218435" width="1" height="1"&gt;</description><enclosure url="http://blogs.technet.com/deploymentguys/attachment/3218435.ashx" length="5583" type="application/x-zip-compressed" /><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/Tips+and+Tricks/default.aspx">Tips and Tricks</category></item><item><title>USMT Error Codes</title><link>http://blogs.technet.com/deploymentguys/archive/2009/01/14/usmt-error-codes.aspx</link><pubDate>Wed, 14 Jan 2009 10:38:10 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3182220</guid><dc:creator>DeploymentGuys</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.technet.com/deploymentguys/comments/3182220.aspx</comments><wfw:commentRss>http://blogs.technet.com/deploymentguys/commentrss.aspx?PostID=3182220</wfw:commentRss><wfw:comment>http://blogs.technet.com/deploymentguys/rsscomments.aspx?PostID=3182220</wfw:comment><description>&lt;p align="justify"&gt;I was recently configuring the User State Migration Tool for a customer’s MDT server when, during the testing phase, the USMT began failing with an error code (‘return code’ or ‘rc’ when you read the MDT log files).&amp;#160; I searched the USMT documentation on TechNet looking for the explanation of what the error code meant, only to discover that I could not find any information at all.&lt;/p&gt;  &lt;p align="justify"&gt;So, after a bit of asking around internally at Microsoft, I have managed to obtain the below list of error codes.&amp;#160; I should point out though that this list of error codes is &lt;em&gt;only&lt;/em&gt; for version 3.01 of the USMT, I don’t know if there are differences for any past or future versions of the tool.&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="724" border="1"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td align="center" width="72"&gt;         &lt;p align="center"&gt;&lt;strong&gt;Error code&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td align="center" width="650"&gt;         &lt;p align="center"&gt;&lt;strong&gt;Error text&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;0&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_SUCCESS&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;1&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_DISPLAY_HELP&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;2&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_MEMORY_FAIL&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;3&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_INVALID_PARAMETERS&amp;#160; (Bad command line)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;4&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_INVALID_STORE_LOCATION&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;5&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_NO_MORE_TOKEN&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;6&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_UNABLE_SET_SCRIPTFILES&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;7&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_UNABLE_GET_SCRIPTFILES&amp;#160; (Can’t find XML file(s) specified in the command-line)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;8&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_UNABLE_SET_STOREPATH&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;9&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_UNABLE_SET_USERS&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;10&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_UNABLE_FINDMIGUNITS&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;11&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_UNABLE_DOMIGRATION&amp;#160; (A file is in use)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;12&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_FAILED_MIGSTARTUP&amp;#160; (Error in XML file ‘Bad XML’)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;13&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_FAILED_SETMIGRATIONTYPE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;14&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_FAILED_LOCALONLY&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;15&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_UNABLE_GET_WORKINGDIR&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;16&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_UNABLE_SETKEY&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;17&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_UNABLE_READKEY&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;18&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_TOO_LONG_KEYSTRING&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;19&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_UNABLE_SETCOMPRESSION&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;20&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_ERROR_INSUFFICIENT_RIGHTS&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;21&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_UNABLE_DELETE_STORE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;22&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_UNABLE_SET_BENONADMIN&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;23&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_ERROR_INSUFFICIENT_STRINGBUFFER&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;24&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_ERROR_UNSUPPORTED_PLATFORM&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;25&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_ERROR_UNABLE_TOVERIFY_PLATFORM&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;26&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_UNABLE_SET_EFSMODE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;27&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_INIT_ERROR&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;28&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_UNABLE_SET_LAC_LAE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;29&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_ERROR_CORRUPTED_ENCRYPTED_STORE&amp;#160; (Store is encrypted and no or invalid key has been specified)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;30&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_ERROR_NO_INVALID_KEY&amp;#160; (Store is only compressed but a key has been specified)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;31&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_ERROR_CORRUPTED_NOTENCRYPTED_STORE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;32&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_ERROR_LOGFILES_INSIDESTORE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;33&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_INVALID_PLATFORM_FOR_TARGETXP&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;34&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_STORE_VALID_ONLY_FOR_XP&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;35&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_UNABLE_TO_READ_CONFIG_FILE&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;36&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_INVALID_CONFIG_FILE_FORMAT&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;37&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_ERROR_UNABLE_CREATE_LOGS&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;38&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_ERROR_USE_LAC&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;39&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_FAILED_TO_EXCLUDE_FOLDERS&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;40&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_ERROR_UNABLE_CREATE_PROGRESS_LOG&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td align="center" width="72"&gt;41&lt;/td&gt;        &lt;td valign="top" width="650"&gt;USMT_STATUS_CANCELLED&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Most of the codes are pretty self-explanatory, but I have included some extra information for some of the more cryptic error messages.   &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;This post was contributed by &lt;strong&gt;Daniel Oxley&lt;/strong&gt; a consultant with Microsoft Services Spain&lt;/em&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3182220" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Utilities/default.aspx">Utilities</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/USMT/default.aspx">USMT</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>5</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>Back to basics #3 – Branding the deployment and fixing the 0xc000000e problem</title><link>http://blogs.technet.com/deploymentguys/archive/2008/11/20/back-to-basics-3-branding-the-deployment-and-fixing-the-0xc000000e-problem.aspx</link><pubDate>Thu, 20 Nov 2008 11:57:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3156868</guid><dc:creator>DeploymentGuys</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.technet.com/deploymentguys/comments/3156868.aspx</comments><wfw:commentRss>http://blogs.technet.com/deploymentguys/commentrss.aspx?PostID=3156868</wfw:commentRss><wfw:comment>http://blogs.technet.com/deploymentguys/rsscomments.aspx?PostID=3156868</wfw:comment><description>&lt;P align=justify&gt;Two more tips for the blog.&amp;nbsp; Actually, one is a tip and the other is the solution to a common problem I see!&lt;/P&gt;
&lt;P align=justify&gt;During the execution of a task sequence in MDT (normally while creating an image, or deploying one) the computer will display the Installation Progress window in the centre of the screen, on top of all others (see &lt;A href="http://blogs.technet.com/deploymentguys/archive/2008/03/19/useful-script-number-2-move-the-task-sequence-window.aspx" mce_href="http://blogs.technet.com/deploymentguys/archive/2008/03/19/useful-script-number-2-move-the-task-sequence-window.aspx"&gt;here&lt;/A&gt; and &lt;A href="http://blogs.technet.com/deploymentguys/archive/2008/10/09/placing-your-window-on-top-during-the-windowspe-stage.aspx" mce_href="http://blogs.technet.com/deploymentguys/archive/2008/10/09/placing-your-window-on-top-during-the-windowspe-stage.aspx"&gt;here&lt;/A&gt; for tips on how to move this window out the way).&amp;nbsp; By default, this window says “IT Organization” in bold letters; something like this:&lt;/P&gt;
&lt;P align=center&gt;&amp;nbsp;&lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/Backtobasics2Brandingthedeployment_84EB/image7.png" mce_href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/Backtobasics2Brandingthedeployment_84EB/image7.png"&gt;&lt;IMG title="IT Organization" style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=114 alt="IT Organization" src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/Backtobasics2Brandingthedeployment_84EB/image7_thumb.png" width=355 border=0 mce_src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/Backtobasics2Brandingthedeployment_84EB/image7_thumb.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=center&gt;But wouldn’t it be good if you could change it to look like this? &lt;BR&gt;&lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/Backtobasics2Brandingthedeployment_84EB/image4.png" mce_href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/Backtobasics2Brandingthedeployment_84EB/image4.png"&gt;&lt;IMG title="Contoso - Windows Vista Deployment" style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=114 alt="Contoso - Windows Vista Deployment" src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/Backtobasics2Brandingthedeployment_84EB/image4_thumb.png" width=355 border=0 mce_src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/Backtobasics2Brandingthedeployment_84EB/image4_thumb.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;By simply setting the variable &lt;STRONG&gt;_SMSTSOrgName&lt;/STRONG&gt; in the &lt;STRONG&gt;customsettings.ini&lt;/STRONG&gt; file, you can replace the text “IT Organization” with anything you like (as long as it is not longer than the width of the progress window!).&lt;/P&gt;
&lt;P&gt;For example, the below customsettings.ini file will set the text to “Contoso – Windows Vista Deployment” in the progress window: &lt;/P&gt;
&lt;P&gt;[Default] &lt;BR&gt;OSInstall=Y &lt;BR&gt;SkipProductKey=YES &lt;BR&gt;SkipFinalSummary=NO &lt;BR&gt;SkipComputerName=YES &lt;BR&gt;SkipApplications=YES &lt;BR&gt;Computername=%SerialNumber% &lt;BR&gt;&lt;STRONG&gt;&lt;FONT color=#000000&gt;_SMSTSOrgName=Contoso – Windows Vista Deployment&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P align=justify&gt;If you wish to change the “&lt;STRONG&gt;Running: Lite Touch Installation&lt;/STRONG&gt;” text on the window it is not so straightforward.&amp;nbsp; You need to edit the line &lt;EM&gt;oEnvironment.Item("_SMSTSPackageName") = "Lite Touch Installation”&lt;/EM&gt; (usually line number 599) in the script &lt;STRONG&gt;LiteTouch.wsf&lt;/STRONG&gt;, replacing the text in the quotes with the text that you want to display.&amp;nbsp; However, you should be aware that if you modify any of the out-of-the-box scripts that are provided with MDT you might no longer be eligible for any support from Microsoft; consult with your local Microsoft contact for more information.&lt;/P&gt;
&lt;P align=justify mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=justify mce_keep="true"&gt;These are one of the first questions I often get asked by customers who have existing MDT servers.&amp;nbsp; While it might seem a rather basic and obvious configuration to some, a lot of people seem to have not found out how to change it and consequently believe that they have to maintain the default setting of “IT Organization”!&lt;/P&gt;
&lt;P align=justify mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=justify mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=justify mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=justify&gt;Recently, I was trying to use an external USB drive as a media deployment point to boot some computers in a laboratory.&amp;nbsp; Nearly every machine booted fine, but a couple of them always failed with the same not-so-helpful error message:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;Status: 0xc000000e &lt;BR&gt;&lt;/EM&gt;&lt;EM&gt;Info: An unexpected error has occurred&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/Backtobasics2Brandingthedeployment_84EB/clip_image001_2.jpg"&gt;&lt;IMG title=clip_image001 style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=184 alt=clip_image001 src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/Backtobasics2Brandingthedeployment_84EB/clip_image001_thumb.jpg" width=244 border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=center&gt;&lt;FONT size=1&gt;A rather poor quality photo of the error taken with the camera in a mobile phone! &lt;BR&gt;Click on the picture to enlarge it.&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=justify&gt;Failure always occurred at the same point, just as the computer was about to boot WinPE from the RAM-disk, after loading the WIM file into it from the USB device.&amp;nbsp; Initially, it was suspected that there was a problem with the WinPE WIM file that MDT had generated, but running the “Update” command on the deployment point a couple of times did not solve it.&amp;nbsp; Then, memory was suspected, but this proved to be a functioning correctly as well.&amp;nbsp; What was also strange was that the same files booted correctly on other computers.&amp;nbsp; To make matters worse, some computers of the &lt;EM&gt;same make and model&lt;/EM&gt; booted correctly, while other ‘identical’ machines did not??!?!?!&lt;/P&gt;
&lt;P align=justify&gt;In the end, the problem was solved by upgrading the BIOS on the computer to the latest version published by the manufacturer.&amp;nbsp; It seems that the manufacturer had supplied all new computers but with different BIOS versions, within the same shipment; once the BIOS was upgraded to the newer version the computer booted to WinPE correctly.&amp;nbsp; A word of warning though, you should consult with the manufacturer/hardware supplier before performing any BIOS upgrades.&amp;nbsp; And, don’t forget the adage: “If it ain’t broke, don’t fix it”.&amp;nbsp; From experience, upgrading the BIOS on a machine that does not exhibit any problems may break something that you have already working.&lt;/P&gt;
&lt;P align=justify&gt;Whilst I had seen the problem before, I never really was able to investigate it because the client always just gave me a new computer and took the old one away.&amp;nbsp; So, thanks to a colleague of mine, David Marín, for solving this (after banging his head against the monitor for quite some time trying to work out what was going on!)&lt;/P&gt;
&lt;P align=justify&gt;&lt;EM&gt;This post was contributed by &lt;STRONG&gt;Daniel Oxley&lt;/STRONG&gt; a consultant with Microsoft Services, Spain&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3156868" width="1" height="1"&gt;</description><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/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>Back to basics #2 – 7 Things you shouldn’t do in a LiteTouch Deployment</title><link>http://blogs.technet.com/deploymentguys/archive/2008/10/17/back-to-basics-2-7-things-you-shouldn-t-do-in-a-litetouch-deployment.aspx</link><pubDate>Fri, 17 Oct 2008 11:48:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3137771</guid><dc:creator>DeploymentGuys</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.technet.com/deploymentguys/comments/3137771.aspx</comments><wfw:commentRss>http://blogs.technet.com/deploymentguys/commentrss.aspx?PostID=3137771</wfw:commentRss><wfw:comment>http://blogs.technet.com/deploymentguys/rsscomments.aspx?PostID=3137771</wfw:comment><description>&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The below list is a list of the most common mistakes made when creating a LiteTouch task sequence.&amp;nbsp; While not an exhaustive list, it might help to improve your deployment experience when using MDT to create LiteTouch deployments.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;1.)&amp;nbsp; Hard-code paths to files/scripts in the task sequence, or inside a script, or referring to the distribution point as Z:\&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;I would say that this is the number one cause of errors that I see.&amp;nbsp; Because MDT always maps the distribution point to Z:, most assume that it is safe to use this to refer to a file during the deployment process.&amp;nbsp; 99% of the time they are right and it will work fine.&amp;nbsp; However, there are some scenarios when this will generate a failure but it might not be immediately obvious as to why it has failed.&amp;nbsp; So, the solution is to not use Z:\ when specifying paths to files.&amp;nbsp; In the example in the below image, the variable %SCRIPTROOT% instead of Z:.&amp;nbsp; MDT will make sure that the value of this variable will always be to the distribution share, regardless of where it is.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/Backtobasics10ThingsnottodoinaLitetouchD_11BAD/image_2.png" mce_href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/Backtobasics10ThingsnottodoinaLitetouchD_11BAD/image_2.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=58 alt=image src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/Backtobasics10ThingsnottodoinaLitetouchD_11BAD/image_thumb.png" width=364 border=0 mce_src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/Backtobasics10ThingsnottodoinaLitetouchD_11BAD/image_thumb.png"&gt;&lt;/A&gt; &lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/Backtobasics10ThingsnottodoinaLitetouchD_11BAD/image_4.png" mce_href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/Backtobasics10ThingsnottodoinaLitetouchD_11BAD/image_4.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=59 alt=image src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/Backtobasics10ThingsnottodoinaLitetouchD_11BAD/image_thumb_1.png" width=364 border=0 mce_src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/Backtobasics10ThingsnottodoinaLitetouchD_11BAD/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;The most common scenario that I have seen this fail in, is when using a Media Deployment Point where the drive Z: does not exist, causing any custom script/processes to fail.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;2.)&amp;nbsp; Use non-descriptive names for each task or script, and not fill in the comments field for each task in the task sequencer.&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;When adding tasks to the task sequencer a lot of people skip the Description box, and also often give the task a rather ambiguous name (plenty of times I have actually seen the task left with the default name i.e. “Run Command Line”).&amp;nbsp; This is not such a problem if it is you that will always administer the server, but when the day comes that someone else needs to look at the task sequence, it will be nigh on impossible for them to work out quickly what each task is doing.&amp;nbsp; So, what could be a simple quick fix will turn into something much longer because they will need to go through the sequencer to work out which is the task that they are looking for.&lt;/P&gt;
&lt;P&gt;You can save a lot of work for everyone, including yourself, by filling in Description field for each task you add to the sequencer.&amp;nbsp; You can also later on use the content of this field to help with your &lt;A href="http://blogs.technet.com/deploymentguys/archive/2008/08/17/documenting-your-task-sequences-automagically.aspx" mce_href="http://blogs.technet.com/deploymentguys/archive/2008/08/17/documenting-your-task-sequences-automagically.aspx"&gt;documentation&lt;/A&gt;.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;3.)&amp;nbsp; Use an account for connecting to the deployment share that has full administrative access over the server.&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Often, during the development stage of any deployment, most people use the administrator account of the domain in the laboratory, or the local administrator account of the MDT server, as the user that connects to the deployment share during any deployment.&amp;nbsp; Although this works fine, from a security perspective it is pretty terrible, especially as you will often have to share the account credentials with anyone that wants to deploy a machine.&amp;nbsp; If you are using an administrative account in the laboratory, make sure that this practice does not get passed into the production environment at a later stage.&lt;/P&gt;
&lt;P&gt;The ideal option is to create an account group (either local to the server or in the domain) that has access to the share, and then add the necessary users to this group.&amp;nbsp; That way they can use their own account credential for deploying a computer without compromising any security on the server.&amp;nbsp; You can also use the auditing options on the server if you want to find out the who, what and when for any computer that was deployed.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;4.)&amp;nbsp; Create a LiteTouch task sequence that deploys a computer without any user intervention.&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Although this might sound like a great idea as it provides an almost ZeroTouch deployment method, it is actually quite a bad thing to implement.&amp;nbsp; Imagine that you launch a deployment on a computer, no user input is required so the task sequence launches.&amp;nbsp; Just as the drives start to format themselves, you realise that you launched the deployment on the &lt;EM&gt;wrong computer&lt;/EM&gt;.&amp;nbsp; Doh!&lt;/P&gt;
&lt;P&gt;I have to confess that this has caught me out before, because of the use of several computers all connected to a keyboard/mouse/monitor switch box.&amp;nbsp; Consequently, I like to leave at least one user-required action at the start of any task sequence and before any ‘damage’ is done.&amp;nbsp; Even if it is just a simple “Welcome to the Windows Vista Deployment project – Press OK to continue” message.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;5.) Don’t specify the scripting engine when launching a script file.&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;As you can see in the image below, MDT will launch a custom VBS script during a deployment cycle, the problem with this example is that the scripting engine has not been specified for launching this script.&amp;nbsp; So, by default, Windows will launch the script with WScript.exe rather than CScript.exe.&amp;nbsp; Most of the time this will be fine and give no problems, however, if you have a script that has the command &lt;EM&gt;WScript.echo “My message”&lt;/EM&gt; in it somewhere then the script will pause, showing a window to the user, and it won’t continue until the user presses the OK button.&lt;/P&gt;
&lt;P&gt;You may want this behaviour, i.e. introducing a user intervention at some point in the deployment, but if you don’t then just specify CScript.exe on the command line before the script file (as shown in the images at the top of this post).&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/Backtobasics10ThingsnottodoinaLitetouchD_11BAD/image_6.png" mce_href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/Backtobasics10ThingsnottodoinaLitetouchD_11BAD/image_6.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=58 alt=image src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/Backtobasics10ThingsnottodoinaLitetouchD_11BAD/image_thumb_2.png" width=363 border=0 mce_src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/Backtobasics10ThingsnottodoinaLitetouchD_11BAD/image_thumb_2.png"&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; 6.)&amp;nbsp; Don’t bother creating detailed documentation of the whole process.&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Although this won’t break anything, and although it is an extremely dull task, documenting everything that you have done during the creation of your deployment is invaluable.&amp;nbsp; It will save you, and anyone else, a lot of time in the future when you need to make changes to anything on the server.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;7.)&amp;nbsp; Create a media deployment point, and then test the super massive 8Gb ISO image with Virtual PC.&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Although Virtual PC now has support for large ISO files, it still sometimes has a few ‘issues’ when the files are &lt;EM&gt;super&lt;/EM&gt; big.&amp;nbsp; The issue never manifests itself with the same error message twice though.&amp;nbsp; Instead, you might start seeing problems booting from the ISO file, and then the next time you might get an inexplicable failure in a script.&amp;nbsp; The solution I have always found to work is to simply use the same ISO file with Virtual Server 2005 SP1, or better still, Hyper-V.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Without a doubt, there are plenty more do’s and don’t with MDT.&amp;nbsp; This is simply a consequence of the fact that MDT is so customisable, a sure sign that it is a powerful tool.&amp;nbsp; Feel free to comment on this post with any of your own suggestions that you want to share with everyone else!&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;This post was contributed by &lt;STRONG&gt;Daniel Oxley&lt;/STRONG&gt; a consultant with Microsoft Services Spain&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3137771" width="1" height="1"&gt;</description><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/Deployment/default.aspx">Deployment</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/LiteTouch/default.aspx">LiteTouch</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>Placing your window on top during the WindowsPE stage</title><link>http://blogs.technet.com/deploymentguys/archive/2008/10/09/placing-your-window-on-top-during-the-windowspe-stage.aspx</link><pubDate>Thu, 09 Oct 2008 21:41:56 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3134681</guid><dc:creator>DeploymentGuys</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/deploymentguys/comments/3134681.aspx</comments><wfw:commentRss>http://blogs.technet.com/deploymentguys/commentrss.aspx?PostID=3134681</wfw:commentRss><wfw:comment>http://blogs.technet.com/deploymentguys/rsscomments.aspx?PostID=3134681</wfw:comment><description>&lt;p&gt;Back in March, Richard Smith wrote a &lt;a href="http://blogs.technet.com/deploymentguys/archive/2008/03/19/useful-script-number-2-move-the-task-sequence-window.aspx"&gt;post&lt;/a&gt; about how to move the Task Sequence window to one side so that you can display a new window in the centre of the screen without it being covered up by the “Always On Top” Task Sequence window.&lt;/p&gt;  &lt;p&gt;Richard’s solution works great, however if you try to use it during the WindowsPE stage of any task sequence it exhibits some rather peculiar behaviour.&amp;#160; Basically, when launched in WindowsPE it tends to only work if you give the mouse a ‘waggle’ (yes, that is a technical term), i.e. the AutoIT code is executed but for some reason WindowsPE does not actually move the Task Sequence window until the mouse cursor is moved.&lt;/p&gt;  &lt;p&gt;In order to make this work as expected in WindowsPE, you’ll need to bring the required application window to the top of the Z-order rather than move the Task Sequence window out of the way.&amp;#160; The only downside to this is that it might not be immediately obvious to the user that a new window has appeared (particularly if it is quite small) as it will appear on top of the Task Sequence window, whereas Richards method does not have this problem.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In order to tweak Richard’s AutoIT code for WindowsPE, you’ll need to amend the following code:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;If WinExists(&amp;quot;Systems Management Server&amp;quot;) Then      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; $size = WinGetPos(&amp;quot;Systems Management Server&amp;quot;)       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Mousemove($size[0]+50, $size[1]+50)       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; MouseClick(&amp;quot;left&amp;quot;)       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WinMove(&amp;quot;Systems Management Server&amp;quot;, &amp;quot;&amp;quot;, 0, 0)       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Exit       &lt;br /&gt;Else       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Exit       &lt;br /&gt;EndIf&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;To look like this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;If WinExists(&amp;quot;MY WINDOW TITLE&amp;quot;) Then      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WinSetOnTop(&amp;quot;MY WINDOW TITLE&amp;quot;, &amp;quot;&amp;quot;, 1)&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; WinActivate(&amp;quot;MY WINDOW TITLE&amp;quot;)&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Exit       &lt;br /&gt;Else       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Exit       &lt;br /&gt;EndIf&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;So, instead of moving the Task Sequence window aside, it is just looking for the specified window and then bringing it to the front.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;This post was contributed by &lt;strong&gt;Daniel Oxley&lt;/strong&gt; a consultant with Microsoft Services Spain&lt;/em&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3134681" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category></item><item><title>Back to basics #1 – Locking the computer during deployment</title><link>http://blogs.technet.com/deploymentguys/archive/2008/10/01/back-to-basics-1-locking-the-computer-during-deployment.aspx</link><pubDate>Wed, 01 Oct 2008 10:26:01 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3130590</guid><dc:creator>DeploymentGuys</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.technet.com/deploymentguys/comments/3130590.aspx</comments><wfw:commentRss>http://blogs.technet.com/deploymentguys/commentrss.aspx?PostID=3130590</wfw:commentRss><wfw:comment>http://blogs.technet.com/deploymentguys/rsscomments.aspx?PostID=3130590</wfw:comment><description>&lt;p&gt;This is the first post in a series that will cover some of the more simple/basic tricks that you can do with MDT, but that are often overlooked.&amp;#160; I’ll be the first to admit that a couple of them I only learnt recently, even though I have been using BDD/MDT for years.&lt;/p&gt;  &lt;p&gt;During the deployment of a computer, MDT will auto-logon Windows using the local Administrator account in order to run its task sequence; during this time, the computer is left logged on as administrator with the desktop unlocked for all to see.&amp;#160; Consequently, anyone who happens to walk past the computer during its deployment can use it with full administrative access.&lt;/p&gt;  &lt;p&gt;The best way to protect your computer systems from any unwanted access is to simply lock the computer during the Windows phase of the deployment.&amp;#160; To do this, just add a “Run Command Line” action to your task sequence, and place the following command in the command line of this action:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;rundll32 user32.dll,LockWorkStation&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/Backtobasics1_7D7E/image_2.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="222" alt="image" src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/Backtobasics1_7D7E/image_thumb.png" width="644" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can place the action at any point in the task sequence, as long as it is executed from within Windows rather than during any Windows PE stage.&amp;#160; It doesn’t matter if you have any reboot actions in the task sequence because, even though the workstation is locked, it will still reboot; just remember that you’ll need to execute the command again after reboot in order to lock the computer again.&amp;#160; Bear in mind though that you won’t be able to see the summary screen at the end of deployment so you won’t know when it has finished.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;This post was contributed by &lt;strong&gt;Daniel Oxley&lt;/strong&gt; a consultant with Microsoft Services Spain&lt;/em&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3130590" 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/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>Logging All the Configuration Manager Task Sequence Variables</title><link>http://blogs.technet.com/deploymentguys/archive/2008/08/29/outputting-all-the-configuration-manager-task-sequence-variables.aspx</link><pubDate>Fri, 29 Aug 2008 18:31:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3113960</guid><dc:creator>DeploymentGuys</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.technet.com/deploymentguys/comments/3113960.aspx</comments><wfw:commentRss>http://blogs.technet.com/deploymentguys/commentrss.aspx?PostID=3113960</wfw:commentRss><wfw:comment>http://blogs.technet.com/deploymentguys/rsscomments.aspx?PostID=3113960</wfw:comment><description>&lt;P&gt;When debugging a MDT based Configuration Manager Task Sequence, it is often helpful to know what certain built-in Configuration Manager variables are set to during a step in the task sequence. For instance, you may want to see if &lt;STRONG&gt;_SMSTSLastActionRetCode &lt;/STRONG&gt;was equal to a certain value or perhaps which management point the client is using by checking &lt;B&gt;_SMSTSMP&lt;/B&gt;. These variables and more are available in the &lt;STRONG&gt;Microsoft.SMS.TSEnvironment&lt;/STRONG&gt; and you can easily log them using the script snippet below:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Dim sVar&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Set osdV4 = CreateObject("Microsoft.SMS.TSEnvironment")&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;For Each sVar in osdv4.GetVariables() &lt;BR&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; oLogging.CreateEntry sVar &amp;amp; ":" &amp;amp; oEnvironment.Item(sVar), LogTypeInfo &lt;BR&gt;Next&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;A list of the variables and their values can be found at &lt;A title=http://technet.microsoft.com/en-us/library/bb632442.aspx href="http://technet.microsoft.com/en-us/library/bb632442.aspx" mce_href="http://technet.microsoft.com/en-us/library/bb632442.aspx"&gt;http://technet.microsoft.com/en-us/library/bb632442.aspx&lt;/A&gt; .&lt;/P&gt;
&lt;P&gt;The full ZTI-style script is included below. Add the script to the Microsoft Deployment Toolkit package and you can call this script as a task in the task sequence. The variables will be outputted to &lt;STRONG&gt;OutputTSVariables.log&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;Try it out and feel free to comment.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&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;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=3113960" width="1" height="1"&gt;</description><enclosure url="http://blogs.technet.com/deploymentguys/attachment/3113960.ashx" length="1002" type="application/x-zip-compressed" /><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/Tips+and+Tricks/default.aspx">Tips and Tricks</category></item><item><title>Non-shrinking WIM files</title><link>http://blogs.technet.com/deploymentguys/archive/2008/08/26/non-shrinking-wim-files.aspx</link><pubDate>Tue, 26 Aug 2008 10:39:03 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3111953</guid><dc:creator>DeploymentGuys</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.technet.com/deploymentguys/comments/3111953.aspx</comments><wfw:commentRss>http://blogs.technet.com/deploymentguys/commentrss.aspx?PostID=3111953</wfw:commentRss><wfw:comment>http://blogs.technet.com/deploymentguys/rsscomments.aspx?PostID=3111953</wfw:comment><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;If you make regular changes to your WIM files with the use of the /MOUNTRW or /DELETE switches of IMAGEX, then you may have noticed that your WIM files do not shrink in size after you commit the changes back to the file.&amp;#160; You could delete 500mb of data from an image file, only to see the file stay the same size, or even grow by a few megabytes.&amp;#160; The reason for this is that the data in a WIM file are not actually removed from the file when deleted, rather the references to it's contents are simply removed; this is a bit like how deleting a file from your C: drive only deletes the reference to it in the allocation table rather than actually scrubbing all the files binary 1's and 0's from the disk sectors.&lt;/p&gt;  &lt;p&gt;But don't worry, there is a solution to this which you can use to optimise the size of your WIM files!&amp;#160; With the use of the /EXPORT switch of IMAGEX, you simply export the image from the WIM file into a new one, and you can even change the level of compression used.&amp;#160; An example of the use of the command is:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;ImageX.exe /export existing.wim X new.wim &amp;quot;My optimised WIM file&amp;quot;&lt;/strong&gt;&amp;#160;&amp;#160;&amp;#160; &lt;em&gt;(where X is the number of the image file you want to export)&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;If you make regular manual edits to your existing WIM files then you might want to consider including the process of exporting the WIM to a new one into your work routine.&amp;#160; However, it is probably not worth using export if you make infrequent or one off changes.&amp;#160; One important thing to remember when using the export command is not to lose any of the /FLAGS settings during your export!&lt;/p&gt;  &lt;p&gt; The question that clients always ask me about this subject is: why has Microsoft designed IMAGEX like this?&amp;#160; The answer is logical, if not always obvious though at first glance.&amp;#160; So, why does IMAGEX not optimise the file upon every commit action?&amp;#160; Well, for a start, it would be very inefficient to have to do this each time you change the WIM file.&amp;#160; Imagine that you add a 10kb file to a 12Gb WIM, then commit the changes.&amp;#160; You'd have to wait while IMAGEX streams the 12Gb of data into a new WIM file, which would take a very long time.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Finally, I would not consider it good practice manually editing your WIM files on a regular basis.&amp;#160; It would be better to use MDT to include any changes you need to make by incorporating them in future versions of your image files.&amp;#160; Infrequent manual changes are fine, but if you are regularly having to manually edit your WIM files in order to include new files/registry keys etc. then you should be looking at automating this process in order to reduce this required manual administration.&amp;#160; It will make work easier!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;This post was contributed by &lt;strong&gt;Daniel Oxley&lt;/strong&gt; a consultant with Microsoft Services Spain&lt;/em&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3111953" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Utilities/default.aspx">Utilities</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/ImageX/default.aspx">ImageX</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>9</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>Task Sequence logic tricks using MDT variables</title><link>http://blogs.technet.com/deploymentguys/archive/2008/07/28/task-sequence-logic-tricks-using-mdt-variables.aspx</link><pubDate>Mon, 28 Jul 2008 22:59:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3094909</guid><dc:creator>DeploymentGuys</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.technet.com/deploymentguys/comments/3094909.aspx</comments><wfw:commentRss>http://blogs.technet.com/deploymentguys/commentrss.aspx?PostID=3094909</wfw:commentRss><wfw:comment>http://blogs.technet.com/deploymentguys/rsscomments.aspx?PostID=3094909</wfw:comment><description>&lt;P&gt;In my particular part of the Microsoft organization (the CTS testing lab), we install just about every OS, at every service pack level, on both major platforms. Because of this, I created a master template that is used to create dozens of task sequences where the only thing that changes is the OS. To pull this off, I made heavy use of the variables built into MDT2008 to branch my logic accordingly and create a framework in which future additions can simply get dropped into. See the screen shot to get an idea of what this framework looks like in the Workbench:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/TaskSequencelogictricksusingMDTvariables_B6B5/clip_image002_2.jpg" mce_href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/TaskSequencelogictricksusingMDTvariables_B6B5/clip_image002_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=244 alt=clip_image002 src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/TaskSequencelogictricksusingMDTvariables_B6B5/clip_image002_thumb.jpg" width=215 border=0 mce_src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/TaskSequencelogictricksusingMDTvariables_B6B5/clip_image002_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;For this example,&lt;I&gt; I have removed all of the actual Tasks themselves to only show the folder structure for clarity’s sake.&lt;/I&gt; But you get the idea. With this in place you can simply add tasks as appropriate into the appropriate level. Keep in mind, any folder level is valid and useful. For example, I have some things that I want only all clients to get, and other things for only all servers to get, so I drop them into the Client and Server folder root levels respectively. Also, something like anti-virus software can be dropped straight into a platform folder, such as x86 or x64 so all OS's regardless of flavour or SP level will get the applications. These are just simple examples, but what’s possible's are limitless.&lt;/P&gt;
&lt;P&gt;The philosophy here is the only add logic to your task sequences to the folder level, and not individual task items. This makes keeping track of why things happen (or don’t happen) in your task sequence easier to control, manage, and troubleshoot when you don’t have to examine every individual task item, and can rely on the group level logic of the containing folders. This also means that every time I want to add a new task item to my sequence, I don’t also have to add in the logic to control it, since dropping it in the right folder makes sure it happens in the right OS environments.&lt;/P&gt;
&lt;P&gt;So, for example, the top level of this folder has the following logic applied in the Options tab:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/TaskSequencelogictricksusingMDTvariables_B6B5/clip_image004_2.jpg" mce_href="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/TaskSequencelogictricksusingMDTvariables_B6B5/clip_image004_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=182 alt=clip_image004 src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/TaskSequencelogictricksusingMDTvariables_B6B5/clip_image004_thumb.jpg" width=244 border=0 mce_src="http://blogs.technet.com/blogfiles/deploymentguys/WindowsLiveWriter/TaskSequencelogictricksusingMDTvariables_B6B5/clip_image004_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Obviously the x64 folder has similar logic with the x86 value changed to x64. For brevity here are the logic values applied to each folder in the first screen shot:&lt;/P&gt;
&lt;P&gt;X86 – Architecture equals x86&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Client - IsServerOS equals FALSE&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&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; Windows XP – OSVersion equals XP&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&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; Vista - OSVersion equals Vista&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Server – IsServerOS equals TRUE&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&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; 2003 - OSVersion equals 2003&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RTM - SELECT * FROM Win32_OperatingSystem WHERE CSDVersion = ""&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SP1 - SELECT * FROM Win32_OperatingSystem WHERE CSDVersion = 'Service Pack 1'&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2008 - OSVersion equals 2008&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;X64 - Architecture equals x64&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Client - Etc etc.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Using this framework, we have been able to maintain a single template task sequence that all others are based on regardless of what OS gets thrown at it. There are some other tricks using some other variables as well, but we can cover this in a separate post.&lt;/P&gt;
&lt;P&gt;This post was contributed by&lt;STRONG&gt; Roland Sanchez&lt;/STRONG&gt; a Lab Engineer with Microsoft Commercial Technical Support Labs, United States.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3094909" width="1" height="1"&gt;</description><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/Deployment/default.aspx">Deployment</category><category domain="http://blogs.technet.com/deploymentguys/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category></item></channel></rss>