<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Xtreme Deployment &#187; VBscript</title>
	<atom:link href="http://deployment.xtremeconsulting.com/category/vbscript/feed/" rel="self" type="application/rss+xml" />
	<link>http://deployment.xtremeconsulting.com</link>
	<description></description>
	<lastBuildDate>Wed, 14 Jul 2010 08:00:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='deployment.xtremeconsulting.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/b9093c8c9e93cd7e588b4bcd70ac2032?s=96&#038;d=http://s2.wp.com/i/buttonw-com.png</url>
		<title>Xtreme Deployment &#187; VBscript</title>
		<link>http://deployment.xtremeconsulting.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://deployment.xtremeconsulting.com/osd.xml" title="Xtreme Deployment" />
	<atom:link rel='hub' href='http://deployment.xtremeconsulting.com/?pushpress=hub'/>
		<item>
		<title>UserTile Automation</title>
		<link>http://deployment.xtremeconsulting.com/2010/06/23/usertile-automation-part-1/</link>
		<comments>http://deployment.xtremeconsulting.com/2010/06/23/usertile-automation-part-1/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 20:35:23 +0000</pubDate>
		<dc:creator>Micah Rowland</dc:creator>
				<category><![CDATA[USMT]]></category>
		<category><![CDATA[VBscript]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://deployment.xtremeconsulting.com/?p=298</guid>
		<description><![CDATA[Recently a customer requested that two accounts be created during the MDT process and required each to have a preset user account picture (referred to by Windows as the User Tile). There are a number of ways to accomplish this, USMT/Easy Transfer wizard being the easiest. However, due to the processes they already had built [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deployment.xtremeconsulting.com&amp;blog=9840217&amp;post=298&amp;subd=tmintner&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Recently a customer requested that two accounts be created during the MDT process and required each to have a preset user account picture (referred to by Windows as the User Tile). There are a number of ways to accomplish this, USMT/Easy Transfer wizard being the easiest. However, due to the processes they already had built into the base image, I decided the best tack was to investigate the actual process employed in storing the User Tile and build automation that could quickly accomodate changes to the specifications of which image to use. After a quick search of the web, it seems that this particular problem, programatically changing the User Tile has not yet found a solution. I present to you my findings along with a sample script to tackle this seemingly simple manual process.</p>
<p>The first step in automating any process is to do it manually first and watch what happens. I rely on the Sysinternals tool Process Monitor as well as Process Explorer for most of my research. Launching Process Explorer as an administrator led me down a few dead ends. It was only after running Process Explorer in the System context using PSExec with the -s and -i switches that I was able to locate the location that Windows 7 uses to store the user tile.</p>
<p>The User Tiles configuration information is stored in Windows registry at <em>HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\########</em>, where ######## is a unique 8 digit hexadecimal ID, in as a binary value named UserTile. But how can we cross reference a username to this 8-digit ID? Glad you asked!</p>
<p>Taking a further look at the registry key, you&#8217;ll notice that beneath the user ids, there is another key called Names. If you expand this key you&#8217;ll see a list of all local user accounts on the system. Upon opening any of the user keys you&#8217;ll notices that only a default value exists. However, take a look at the value type&#8230; It is not a standard type, but a hexidecimal number 0x### where the ### id crossreferences nicely with the list of user ids above. In our script we need only pad this value with leading 0&#8242;s until it reaches the desired 8-digits. Trying to retrieve this hexidecimal &#8220;type&#8221; throws exceptions in nearly every method I tried. Exporting the key to a .reg file gave me the output I needed to be able to search for a specific username and retrieve its id.</p>
<p>The SAM Hive of the registry is not generally accessible to any user accounts and is configured, by default, to only be accessed by the System account. To maintain security, both the read and the write operations necessary to modify the UserTiles programmatically are accomplished by executing the operations in the System context. Execution in the system context is accomplished by utilizing the PSExec tool.</p>
<p>When a user interactively changes the UserTile by means of the User Account control panel, Windows resizes the image specified by the user to 128&#215;128 and saves new image as a 24-bit bitmap file in the C:\ProgramData\Microsoft\User Account Pictures\ folder as USERNAME.bmp. The bitmap is then stored in the registry in the SAM and the user’s contact card is updated.</p>
<p>The binary data is composed of a header followed by a payload containing the binary graphic used for the UserTile and closed with a footer that contains the path to the file used as the UserTile. The header is 16 bytes long.</p>
<ol>
<li>12-bytes (seem to be constant at 01 00 00 00 03 00 00 00 01 00 00 00)</li>
<li>4-byte field representing the size of the payload</li>
</ol>
<p>The payload data reveals that the image stored in the registry is 126&#215;126 pixels, presumably to make up for the 1 pixel wide border around the image when displayed on the logon screen and on the start menu. Further, the image is stored in 16-bit color depth using BI_BITFIELDS compression.</p>
<p>The footer contains the type of image file used and the location of the file used using Unicode (2-bytes per character). The format is as follows:</p>
<ol>
<li>4-byte field (purpose unknown, possibly the length of the following field)</li>
<li>A null-terminated Unicode string representing the file type
<ol>
<li>Eg. “bmp” = 62 00 6D 00 70 00 00 00</li>
</ol>
</li>
<li>4-byte field (purpose unknown, always 02 00 00 00)</li>
<li>4-byte field representing the payload (bitmap) size in bytes</li>
<li>A null-terminated Unicode string representing the file location padded to the nearest 4 bytes.</li>
</ol>
<p>Phew! Needless to say, this level of detail is not necessary for part 1 of this post, however in crafting a truely dynamic programmatic approach to changing the uer tile, we will need this information.</p>
<h2>Solution:</h2>
<p>It should be possible to engineer an application that accepts a username and a bitmap file to use. However, for part 1, it is simpler to export the registry keys from a sample machine using either the reg.exe or the regedit.exe utility under the System context using PSExec.</p>
<p>When scripting this automation, we must be aware that the first time PSExec is run, a EULA must be accepted. To avoid this, the following registry file is imported (AcceptPSExecEULA.reg):</p>
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>
<pre>Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Sysinternals\PsExec]
"EulaAccepted"=dword:00000001</pre>
</td>
</tr>
</tbody>
</table>
<p>The following script was created to accomplish the goal of changing the UserTiles:</p>
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>
<pre>''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'   Title:   User Tile Change Script
'   Author:  Micah Rowland (Xtreme Consulting)
'   Date:    07/14/2010
'   Desc:    This script is designed to programatically replace
'            a single local user's User Tile on Windows Vista
'            and above.
'   Prereq:  This script requires the use of PSExec available
'            from <a href="http://live.sysinternals.com/psexec.exe">http://live.sysinternals.com/psexec.exe</a>
'   Usage:   UserTile.vbs USERNAME USERTILEFILE
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
CONST FORREADING = 1
CONST FORWRITING = 2

set objShell = CreateObject("Wscript.Shell")
set objFSO = CreateObject("Scripting.FileSystemObject")
set objArgs = Wscript.Arguments
set objShell = CreateObject("Wscript.shell")
if CheckArgs() &lt;&gt; "" then
     Wscript.echo Checkargs() &amp; vbcrlf
     wscript.echo "Arguments Invalid. Usage: ChangeUserPicture.vbs USERNAME UserTileFile"
     wscript.quit()
end if

strUsername = objArgs(0)
strUserTileFile = objArgs(1)
strUserIndex = GetUserIndex()
set objFile = objFSO.GetFile(strUserTileFile)
set objTS = objFile.OpenAsTextStream(1)
strUserTile = objTS.ReadAll
wscript.echo strUserTile
strRegFile = objShell.ExpandEnvironmentStrings("%temp%") &amp; "\UserIndexes2.reg"
set objRegFile = objFSO.OpenTextFile(strRegFile, ForWriting, true)
contents = "Windows Registry Editor Version 5.00" &amp; vbcrlf &amp; vbcrlf &amp; "[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\" &amp; strUserIndex &amp; "]" &amp; vbcrlf &amp; strUserTile
objRegFile.Write contents
objRegFile.Close

strImport = "PSEXEC -S -I reg import " &amp; strRegFile
objShell.Run strImport

Function GetUserIndex

     ' This function exports the Names key of the SAM from the registry to determine a match between the user account provided
     ' and its hex ID for use in creating the new registry file for import. Because the .reg file is exported in Unicode format
     ' we use the type command to pipe it from stdout to a new text file.

     strUsername = objArgs(0)
     strUserTileFile = objArgs(1)
     objShell.run "cmd /c reg export HKLM\SAM\SAM\Domains\Account\Users\Names %temp%\UserIndexes.reg /y"
     wscript.sleep(500)
     objShell.run "CMD /C type %temp%\userindexes.reg &gt; %temp%\userindexes.txt"
     wscript.sleep(500)
     set objFile = objFSO.GetFile(objShell.ExpandEnvironmentStrings("%temp%") &amp; "\userindexes.txt")
     set objRegExport = objFile.OpenAsTextStream(FORREADING)
     curLine = objRegExport.ReadLine()
     do until instr(lcase(curLine), lcase(strUserName)) or objRegExport.atendofStream
          curLine = objRegExport.ReadLine
     loop
     if objRegExport.AtEndOfStream then
          wscript.echo "Username not found."
          wscript.quit()
     else
          curLine = ObjRegExport.ReadLine
          tmpGetUserIndex = mid(curLine, instr(curLine, "(") + 1, len(curline) - instr(curline, "(") - (len(curLine) - instr(curline, ")")+1))
          do until len(tmpGetUserIndex) = 8
               tmpGetUserIndex = "0" &amp; tmpGetUserIndex
          loop
          GetUserIndex = tmpGetUserIndex
     end if
End Function

Function CheckArgs()
     ' This function makes sure that 2 arguments were provided and that the filename provided exists
     if objArgs.Count &lt;&gt; 2 then
          CheckArgs = "Exactly 2 arguments must be specified."
     elseif not objFSO.FileExists(objArgs(1)) then
          CheckArgs = "File not found."
     else
          CheckArgs = ""
     end if
 End Function</pre>
</td>
</tr>
</tbody>
</table>
<p>The script syntax is: <em>SetUserTile.vbs USERNAME FILE</em></p>
<p>The file used by this script consists of only the UserTile value from a registry export of a preconfigured UserTile. This can be accomplished by setting a local user account&#8217;s picture, opening regedit using the <strong>psexec -s -i regedit.exe </strong>command, navigating to the SAM key mentioned above, determining the correct user account as detailed above, and exporting the key. Then remove <em>all </em>data in the .reg file <strong>except the &#8220;UserTile=hex:&#8230;&#8221; entry.</strong></p>
<p>To leverage this script, a command-script file was created and added to the Software Installation task sequence.</p>
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td>
<pre>reg import AcceptPSExecEULA.reg
cscript SetUserTile.vbs "USERNAME" DATAFILE.txt</pre>
</td>
</tr>
</tbody>
</table>
<p>I hope to have a commandline based program developed in the future to tackle this which will accept any sized bitmap image as it&#8217;s input as opposed to using a captured registry value. I hope you have enjoyed this post. If you have any questions feel free to ask!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tmintner.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tmintner.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tmintner.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tmintner.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tmintner.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tmintner.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tmintner.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tmintner.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tmintner.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tmintner.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tmintner.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tmintner.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tmintner.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tmintner.wordpress.com/298/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deployment.xtremeconsulting.com&amp;blog=9840217&amp;post=298&amp;subd=tmintner&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://deployment.xtremeconsulting.com/2010/06/23/usertile-automation-part-1/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e5d625f8daa701b969ef654f169de4e5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ioamnesia</media:title>
		</media:content>
	</item>
		<item>
		<title>How MDT does Application Installation</title>
		<link>http://deployment.xtremeconsulting.com/2010/01/20/how-mdt-does-application-installation/</link>
		<comments>http://deployment.xtremeconsulting.com/2010/01/20/how-mdt-does-application-installation/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 17:00:57 +0000</pubDate>
		<dc:creator>keithga</dc:creator>
				<category><![CDATA[MDT 2010]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[VBscript]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://tmintner.wordpress.com/?p=268</guid>
		<description><![CDATA[Been working lately on adding some Application Installation packages to MDT, and I’ve seen some good, bad, and ugly packages. So, what makes an application installation compatible with MDT (or other scripted installation methods, for that matter)? Good question. Microsoft Installer (MSI) The good! More and more products are being released lately as MSI packages. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deployment.xtremeconsulting.com&amp;blog=9840217&amp;post=268&amp;subd=tmintner&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Been working lately on adding some Application Installation packages to MDT, and I’ve seen some good, bad, and ugly packages.</p>
<blockquote><p>So, what makes an application installation compatible with MDT (or other scripted installation methods, for that matter)?</p></blockquote>
<p>Good question.</p>
<h3>Microsoft Installer (MSI)</h3>
<p>The good!</p>
<p>More and more products are being released lately as MSI packages. Most MSI Packages are easy to automate. For example, I typically use the following parameters:</p>
<p>Msiexec.exe /qb- /l*vx  %LogPath%\&lt;file&gt;.log REBOOT=ReallySuppress UILevel=67 ALLUSERS=2 /i &lt;File&gt;.msi</p>
<p>MDT will easily handle this installation script, and install properly for most MSI packages. Yea!</p>
<h3>Non-MSI Packages</h3>
<p>However, it is possible that you are working with a custom installation package, or perhaps developing your own. What are the rules necessary to make the package work in MDT?</p>
<h3>Rule 1: Provide unattended installs</h3>
<p>The install program should have a way to install in a unattended manner. Typically this is done by some sort of command line switch to the installer program or script: /quiet /silent /q whatever. MDT 2010 is a fully automated installation system, and the automation will break if there are any user prompts blocking installation.</p>
<p>For example, if you have a MSI installer package, you can call MSIExec.exe with the /q[bn][-] parameter.</p>
<p>This also equally important for errors. If the install package generates errors, it should provide a method to log the errors to a file for analysis later, rather than prompting the user for interaction with a blocking Error Message Box.</p>
<h3>Rule 2: Do not exit until done</h3>
<p>The install programs should not exit until all setup tasks have finished. If the setup program returns, yet there are still installation tasks being performed in the background, MDT has no way to determine this. So MDT may continue with the next installation, or perhaps a reboot thus causing conflicts with the installation running in the background.</p>
<p>For example, say you have two installation packages, A.Exe and B.Msi. A.Exe is just a Self Extracting Executable that expands A.MSI to the %temp% folder, and kicks off msiexec.exe. However, A.Exe calls msiexec.exe and doesn’t wait, instead A.Exe promptly exits. MDT does not know what is running in the background, and instead continues installing the next package in the list B.Msi. However since A.Msi is running in the backgound, and MSIExec only allows one installation at a time, B.Msi will fail.</p>
<p>Instead A.Exe should wait until Msiexec.exe /i A.msi has finished.</p>
<h3>Rule 3: No rebooting</h3>
<p>Sometimes an install package will need to reboot to complete the installation. Reboots, for example, are required to update any file that is already open and in use. It’s a common misconception that you need to reboot to install a device driver, you don’t (unless the driver is in use).</p>
<p>However problems arise if the setup program, when running in an unattended matter, decides to reboot on it’s own, without letting the calling script (in this case MDT), know before hand. It may be a couple of seconds before all processes have a chance to shutdown. It’s possible that MDT may try to continue installing the next program in the order or other cleanup tasks, when it shouldn’t.</p>
<p>Instead, a program should return <a href="http://msdn.microsoft.com/en-us/library/ms819773.aspx">Windows.h</a> Error Code: 3010 ( ERROR_SUCCESS_REBOOT_REQUIRED ).</p>
<p>This will let MDT know that a reboot is required, reboot the machine, and *then* continue with the rest of the installation packages.</p>
<h3>Other Notes</h3>
<p>There are a few other notes that I wish I could mention to the authors of installation packages:</p>
<ul>
<li>Be aware that the installation may be performed under one user account, but the program may be used under another account. When calling MSIExec.exe, I usually call it with the ALLUSERS=2 property.</li>
<li>Please make it easy to determine what the unattended/silent installation procedures are. It’s not always easy to determine what the command line parameters are.</li>
<li>If you have a Self Extracting Executable that calls msiexec.exe, please provide a way to pass logging and other properties (see above) to msiexec.exe.</li>
<li>Speaking of Self Extracting Exe files that call *.msi packages. Please just provide the *.msi install package, it’s much easier.</li>
<li>On your web site, please provide direct access to your install packages, rather than going through some web logic. Several populat sites, for example will attempt to offer you *only* the x86 or x64 binaries depending on which platform you are running on, even though I may need both for packaging.</li>
<li>Please keep the desktop free from links/icons, or provide a property in MSI to disable shortcuts creation on the desktop (I’m talking to you Adobe Reader). I like keeping my desktop clean.</li>
<li>Speaking of options, please provide ways on the command line to enable/disable most common features.</li>
</ul>
<p> </p>
<p>Keith</p>
<address><a href="http://keithga.com"><span style="color:#993300;">Keith Garner</span></a><span style="color:#993300;"> is a Deployment Specialist with </span><a href="http://deployment.xtremeconsulting.com/"><span style="color:#993300;">Xtreme Consulting Group</span></a></address>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tmintner.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tmintner.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tmintner.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tmintner.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tmintner.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tmintner.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tmintner.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tmintner.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tmintner.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tmintner.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tmintner.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tmintner.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tmintner.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tmintner.wordpress.com/268/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deployment.xtremeconsulting.com&amp;blog=9840217&amp;post=268&amp;subd=tmintner&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://deployment.xtremeconsulting.com/2010/01/20/how-mdt-does-application-installation/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba37c28620c8ba69ccbbfad7a905e203?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">keithga</media:title>
		</media:content>
	</item>
		<item>
		<title>Friendly names when Selecting the Domain OU in MDT 2010</title>
		<link>http://deployment.xtremeconsulting.com/2009/12/11/friendly-names-when-selecting-the-domain-ou-in-mdt-2010/</link>
		<comments>http://deployment.xtremeconsulting.com/2009/12/11/friendly-names-when-selecting-the-domain-ou-in-mdt-2010/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 17:00:03 +0000</pubDate>
		<dc:creator>keithga</dc:creator>
				<category><![CDATA[MDT 2010]]></category>
		<category><![CDATA[VBscript]]></category>

		<guid isPermaLink="false">http://tmintner.wordpress.com/?p=255</guid>
		<description><![CDATA[Came across a question in a forum recently: In MDT 2010 when I am in the Deployment Wizard I can select the option to join a domain, enter in my domain and near the bottom I have the option to select my OU with a dropdown menu. Within my control folder of my deployment share [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deployment.xtremeconsulting.com&amp;blog=9840217&amp;post=255&amp;subd=tmintner&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Came across a question in a forum recently:</p>
<blockquote><p>In MDT 2010 when I am in the Deployment Wizard I can select the option to join a domain, enter in my domain and near the bottom I have the option to select my OU with a dropdown menu.<br />
Within my control folder of my deployment share I have a file called DomainOUList.xml that has a long list of all the OUs I want our techs to be able to select from. The structure of the file looks something like this:</p>
<p>&lt;DomainOUs&gt;<br />
&lt;DomainOU&gt;OU=Desktops,OU=Accounting,OU=Calgary,DC=MYDOMAIN,DC=AD&lt;/DomainOU&gt;<br />
…</p>
<p>How can I make it look like this:<br />
Laptops / Accounting / Calgary / MYDOMAIN<br />
…</p></blockquote>
<p>I did some investigation, and discovered that MDT lacks the ability to display Friendly names in the Domain OU selection on the dialog box. This is a problem all the way back to BDD 2007.</p>
<p>Something I forgot to do.</p>
<h3>Updated change</h3>
<p>It s quick change to DeployWiz_Initialization.vbs to make the wizard display friendly names rather than the OU style.</p>
<p>First we introduce a new set of functions:</p>
<pre>Function AddItemToMachineObjectOUOpt(item)   AddItemToMachineObjectOUOptEx item, itemEnd function

Function AddItemToMachineObjectOUOptEx(item,value)  Dim oOption

  set oOption = document.createElement("OPTION")  oOption.Value = value  oOption.Text = item  MachineObjectOUOptional.Add oOption  MachineObjectOUOptionalBtn.style.display = "inline"End function</pre>
<p>I personally like to add *EX style function like this, it means that we can reduce the number of changed lines in the code, and keep the old version of the function around for compatibility.</p>
<p>Then later on we modify the code to read the DomainOUList.xml:</p>
<pre>
iRetVal = oUtility.FindFile( "DomainOUList.xml" , sFoundFile)
if iRetVal = SUCCESS then     For each oItem in oUtility.CreateXMLDOMObjectEx( sFoundFile ).selectNodes("//DomainOUs/DomainOU")

        if oItem.Attributes.getNamedItem("value") is nothing then             AddItemToMachineObjectOUOpt oItem.text         else
            AddItemToMachineObjectOUOptEx oItem.text, oItem.Attributes.getNamedItem("value").value         end if     Next
End if</pre>
<p>If the DomainOUList.xml file contains a value attribute in the XML file, it will use that for the value, and the node for the Friendly Name:</p>
<pre>
&lt;DomainOUs&gt;
 &lt;DomainOU&gt;OU=Desktops,OU=Accounting,OU=Calgary,DC=MYDOMAIN,DC=AD&lt;/DomainOU&gt;
 &lt;DomainOU value="OU=Desktops,OU=Accounting,OU=Calgary,DC=MYDOMAIN,DC=AD" &gt; Domain\Calgary\Accounting\Desktops &lt;/DomainOU&gt;
&lt;/DomainOUs&gt;</pre>
<p>Full sample can be found at:</p>
<p><a title="DeployWiz_Initialization.vbs" href="http://deploymentlive.com/blog/DeployWiz_Initialization.vbs">DeployWiz_Initialization.vbs</a></p>
<p>&lt;p&gt;Keith&lt;/p&gt;</p>
<p>&lt;address&gt;&lt;a href=&#8221;<a href="http://keithga.com&quot;">http://keithga.com&#8221;</a>&gt;&lt;span style=&#8221;color: #993300;&#8221;&gt;Keith Garner&lt;/span&gt;&lt;/a&gt;&lt;span style=&#8221;color: #993300;&#8221;&gt; is a Deployment Specialist with &lt;/span&gt;&lt;a href=&#8221;<a href="http://deployment.xtremeconsulting.com/&quot;">http://deployment.xtremeconsulting.com/&#8221;</a>&gt;&lt;span style=&#8221;color: #993300;&#8221;&gt;Xtreme Consulting Group&lt;/span&gt;&lt;/a&gt;&lt;/address&gt;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tmintner.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tmintner.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tmintner.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tmintner.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tmintner.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tmintner.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tmintner.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tmintner.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tmintner.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tmintner.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tmintner.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tmintner.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tmintner.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tmintner.wordpress.com/255/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deployment.xtremeconsulting.com&amp;blog=9840217&amp;post=255&amp;subd=tmintner&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://deployment.xtremeconsulting.com/2009/12/11/friendly-names-when-selecting-the-domain-ou-in-mdt-2010/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba37c28620c8ba69ccbbfad7a905e203?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">keithga</media:title>
		</media:content>
	</item>
		<item>
		<title>MDT 2010 Application ordering (New Tool)</title>
		<link>http://deployment.xtremeconsulting.com/2009/12/09/mdt-2010-application-ordering-new-tool/</link>
		<comments>http://deployment.xtremeconsulting.com/2009/12/09/mdt-2010-application-ordering-new-tool/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 18:21:55 +0000</pubDate>
		<dc:creator>keithga</dc:creator>
				<category><![CDATA[MDT 2010]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[VBscript]]></category>

		<guid isPermaLink="false">http://tmintner.wordpress.com/?p=250</guid>
		<description><![CDATA[Got an E-Mail from a friend of mine recently: Are you bored? Might be a good utility to build. The PowerShell script [..] posted at http://blogs.technet.com/mniehaus/archive/2009/09/09/sorting-the-contents-of-an-mdt-2010-deployment-share.aspx shows how to rearrange the items in a folder &#8211; basically, it just reorders the GUIDs in the group and then saves the modified GUID list. The script only [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deployment.xtremeconsulting.com&amp;blog=9840217&amp;post=250&amp;subd=tmintner&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Got an E-Mail from a friend of mine recently:</p>
<blockquote><p>Are you bored? <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Might be a good utility to build. The PowerShell script [..] posted at <a href="http://blogs.technet.com/mniehaus/archive/2009/09/09/sorting-the-contents-of-an-mdt-2010-deployment-share.aspx">http://blogs.technet.com/mniehaus/archive/2009/09/09/sorting-the-contents-of-an-mdt-2010-deployment-share.aspx</a> shows how to rearrange the items in a folder &#8211; basically, it just reorders the GUIDs in the group and then saves the modified GUID list. The script only does alphabetical sorting, but some might want to manually rearrange &#8211; not terribly easy to do in PowerShell, so it would require a real UI.</p></blockquote>
<p>For most scenarios, I recommend using Application Dependencies to ensure that applications install in the correct order.</p>
<p>I really didn’t think much of it until recently. When I had some applications that could install stand alone, by themselves, however when both were installed, they needed to be installed in a specific order. If I were creating a CustomSettings.ini file, I would manually ensure that the Applications were placed in order. However, if the user selected the applications from the wizard, then there was no way to ensure the order of the apps unless we modified the order within the ApplicationGroups.xml manually. &lt;yuck&gt;</p>
<p>The blog above shows how application ordering can be done. Simply create a temporary sub-folder, an move the items *in order* to the temporary subfolder and then move everything back.</p>
<h3>Solution</h3>
<p>This solution should work for sorting both Folders and Application Items within MDT 2010. The application is a simple wrapper around the MDT 2010 Powershell provider, and simply makes calls to move Applications and/or folders using Powershell.</p>
<h3>User Interface</h3>
<p>The wizard will prompt you for the correct MDT 2010 Deployment Share to use. The deployment share must be visible within the MDT 2010 console on the same machine and using the same user account. If you have not opened any MDT 2010 Deployment shares on this computer and this account, please run the MDT 2010 console, and open your Deployment Share.</p>
<p>When selected, the wizard will display a list of all applications and application folders present on the MDT 2010 Deployment share. You may highlight the Application you wish to move, and use the “Move Up” and “Move Down” buttons to rearrange the order of the application. </p>
<p><a href="http://tmintner.files.wordpress.com/2009/12/image.png"><img style="display:inline;border:0;" title="image" src="http://tmintner.files.wordpress.com/2009/12/image_thumb.png?w=244&#038;h=193" border="0" alt="image" width="244" height="193" /></a> </p>
<p>When you are done, press the “Commit” button to run the Powershell script that performs the re-ordering. The applications will not be sorted until the script has finished running.</p>
<p>The MDT 2010 Powershell Provider will do all the necessary work to ApplicaitonGroups.xml on the back end.</p>
<p><a href="http://tmintner.files.wordpress.com/2009/12/image1.png"><img style="display:inline;border:0;" title="image" src="http://tmintner.files.wordpress.com/2009/12/image_thumb1.png?w=244&#038;h=193" border="0" alt="image" width="244" height="193" /></a></p>
<p>You can view the script by saving the results to a txt file.</p>
<h3>Restrictions and Limitations</h3>
<p>It is recommended that you backup your MDT 2010 deployment periodically,</p>
<p>You can sort the contents of only one folder at a time.</p>
<p>You can not sort Folders within Application entries. Folders are always displayed first.</p>
<h3>Link</h3>
<p><a href="http://www.deploymentlive.com/blog/MDT2010Ordering.zip">MDT2010Ordering.zip</a></p>
<h3>License</h3>
<p>This tool is provided “as-is”, with no warranties.<br />
You agree not to hold the author, Keith Garner liable for any damages.<br />
This tool is provided “Free of Charge” for “Evaluation” purposes only.<br />
This tool is copyrighted by the author, Keith Garner, and he retains all<br />
ownership, this tool is not public domain.<br />
You are not permitted to redistribute this tool without the express written<br />
consent of the author, Keith Garner.<br />
The license for this tool can be revoked and/or superseded at any time, by the author, Keith Garner.<br />
Of course, you should backup your critical files before running any 3rd party program downloaded off the internet.</p>
<p>By Keith Garner ( <a href="http://keithga.com">http://keithga.com</a> ) – Deployment Consultant &#8211; Dec, 2009<br />
Xtreme Consulting Group ( <a href="http://deployment.xtremeconsulting.com">http://deployment.xtremeconsulting.com</a> )<br />
Microsoft Deployment Toolkit 2010 ( <a href="http://microsoft.com/deployment">http://microsoft.com/deployment</a> )<br />
<strong><span style="color:#ff0000;">Copyright Keith Garner (keithga.com), All Rights Reserved.</span></strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tmintner.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tmintner.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tmintner.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tmintner.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tmintner.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tmintner.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tmintner.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tmintner.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tmintner.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tmintner.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tmintner.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tmintner.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tmintner.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tmintner.wordpress.com/250/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deployment.xtremeconsulting.com&amp;blog=9840217&amp;post=250&amp;subd=tmintner&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://deployment.xtremeconsulting.com/2009/12/09/mdt-2010-application-ordering-new-tool/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba37c28620c8ba69ccbbfad7a905e203?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">keithga</media:title>
		</media:content>

		<media:content url="http://tmintner.files.wordpress.com/2009/12/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://tmintner.files.wordpress.com/2009/12/image_thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>New for MDT 2010: ZTIDomainJoin.wsf</title>
		<link>http://deployment.xtremeconsulting.com/2009/12/08/new-for-mdt-2010-ztidomainjoin-wsf/</link>
		<comments>http://deployment.xtremeconsulting.com/2009/12/08/new-for-mdt-2010-ztidomainjoin-wsf/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 06:25:13 +0000</pubDate>
		<dc:creator>keithga</dc:creator>
				<category><![CDATA[MDT 2010]]></category>
		<category><![CDATA[VBscript]]></category>

		<guid isPermaLink="false">http://tmintner.wordpress.com/?p=243</guid>
		<description><![CDATA[One of the new scripts for MDT 2010 is the ZTIDomainJoin.wsf script. This script will operate like NetDom.exe, Joining the machine to the Domain specified in the customsettings.ini and/or Deployment Wizard. Normal Process Before MDT 2010, the variables collected in the wizard for joining the domain were placed directly into the unattend.xml or unattend.txt file. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deployment.xtremeconsulting.com&amp;blog=9840217&amp;post=243&amp;subd=tmintner&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>One of the new scripts for MDT 2010 is the ZTIDomainJoin.wsf script. This script will operate like NetDom.exe, Joining the machine to the Domain specified in the customsettings.ini and/or Deployment Wizard.</p>
<h3>Normal Process</h3>
<p>Before MDT 2010, the variables collected in the wizard for joining the domain were placed directly into the unattend.xml or unattend.txt file. The OS would then perform the join to the domain during (OOBE) Setup.</p>
<p>This tool came about because of several scenarios that could prevent the machine from successfully joining the domain during Windows Setup. For example. If the network did not have DHCP available, Windows Setup is not programmed with the correct Static IP address settings necessary for the Join Domain feature to contact the domain controller. Later on in the Task Sequence Steps, the ZTINICConfig.wsf script would correctly configure the Network Cards, however it was too late for joining the domain.</p>
<p>So we developed a new script ZTIDomainJoin.wsf as a thin wrapper around the WMI call Win32_ComputerSystem:JoinDomainOrWorkgroup(). If the script sees that the machine is already joined to the correct domain, no problem, it continues on, without any errors. However, if the script sees that a request was made to join the domain, and the machine is *not* in that correct domain, then it will attempt to join the domain and reboot. If there is a failure joining the domain, the script will retry up to 3 times before logging a failure and continuing.</p>
<h3>Domain Policies that break MDT</h3>
<p>Another scenario where this script works well is when a Domain has a Policy that blocks automation. For example a Legal disclaimer at login, or a rename of the local Administrator Account. Either one of these changes will break MDT.</p>
<p>One possible work around in these scenarios is to *remove* the domain join entries in the unattend.xml and unattend.txt templates on your MDT server, or remove the entries in the ZTIConfigure.xml script. Once removed, the ZTIConfigure.wsf script won’t populate the unattend.txt with the correct variables gathered form the CustomSettings.ini file and/or Deployment Wizard.</p>
<p>Then add the ZTIDomainJoin.wsf script near the *end* of the Deployment Task Sequence. Most of the automation will be complete by that point.</p>
<h3>Variables</h3>
<p>It takes the following variables:</p>
<ul>
<li>JoinDomain &#8211; Name of domain to join</li>
<li>DomainAdmin – User Account used to Join Domain (must have permissions to perform Domain Join)</li>
<li>DomainAdminDomain – Domain of User account used to Join Domain</li>
<li>DomainAdminPassword – Password used to Join Domain</li>
<li>MachineObjectOU &#8211; Domain OU to join</li>
<li>DomainErrorRecovery – [Auto|MANUAL|FAIL]
<ul>
<li>Auto – Automatically try to Join to the domain, reboot and retry if there is a failure.</li>
<li>Manual – Stop processing the Task Sequence, and wait for the user to manually join the domain.</li>
<li>Fail – Stop the Task Sequence if the machine has not joined the domain.</li>
</ul>
</li>
</ul>
<h3>Notes</h3>
<p>Fail could be useful if you have applications that *require* the machine to be part of the domain. If for any reason, the machine failed to join the domain, you could call the ZTIDomainJoin.wsf script with the “Fail” Parameter to crash the installation process if the machine is not joined to the domain.</p>
<p>Manual style is a new feature in MDT 2010, where MDT can “Halt” the execution of the Task Sequence, and allow the user the ability to perform manual steps (without the pesky Task Sequence progress bar, which insists that it remain on “top”). Just follow the instructions to restart the task sequence.</p>
<p>Keith</p>
<address><a href="http://keithga.com"><span style="color:#993300;">Keith Garner</span></a><span style="color:#993300;"> is a Deployment Specialist with </span><a href="http://deployment.xtremeconsulting.com/"><span style="color:#993300;">Xtreme Consulting Group</span></a></address>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tmintner.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tmintner.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tmintner.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tmintner.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tmintner.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tmintner.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tmintner.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tmintner.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tmintner.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tmintner.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tmintner.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tmintner.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tmintner.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tmintner.wordpress.com/243/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deployment.xtremeconsulting.com&amp;blog=9840217&amp;post=243&amp;subd=tmintner&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://deployment.xtremeconsulting.com/2009/12/08/new-for-mdt-2010-ztidomainjoin-wsf/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba37c28620c8ba69ccbbfad7a905e203?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">keithga</media:title>
		</media:content>
	</item>
		<item>
		<title>Updates to ZTIWindowsUpdate.wsf</title>
		<link>http://deployment.xtremeconsulting.com/2009/12/08/updates-to-ztiwindowsupdate-wsf/</link>
		<comments>http://deployment.xtremeconsulting.com/2009/12/08/updates-to-ztiwindowsupdate-wsf/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 17:00:52 +0000</pubDate>
		<dc:creator>keithga</dc:creator>
				<category><![CDATA[MDT 2010]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[VBscript]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://tmintner.wordpress.com/?p=240</guid>
		<description><![CDATA[Hope everyone out there is keeping warm now that December has hit. I’ve been busy during the past few weeks working on a couple of consulting gigs. One Large company, one Medium Sized. Both of them needed a good jump start getting MDT 2010 up and running in their environments. Like many IT departments out [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deployment.xtremeconsulting.com&amp;blog=9840217&amp;post=240&amp;subd=tmintner&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hope everyone out there is keeping warm now that December has hit. I’ve been busy during the past few weeks working on a couple of consulting gigs. One Large company, one Medium Sized.</p>
<p>Both of them needed a good jump start getting MDT 2010 up and running in their environments. Like many IT departments out there, they are interested in Windows 7, and MDT 2010 is the de-facto reference design for Windows 7 Deployment.</p>
<h4>Medium Sized LiteTouch Deployment</h4>
<p>For the Medium Sized Company, we created a MDT 2010 Litetouch system with Windows 7, and packaged up around 50 applications, including the latest versions of: 7-Zip, Adobe Reader, QuickTime, iTunes, Adobe Flash Player, Silverlight, Java Runtime, VLC, Microsoft Office 2007 SP2, Microsoft Office Communicator, Microsoft Live Meeting, Citrix Online Plugin, Rumba, Microsoft App-V Client, and more including several internal tools! We also created a MDT 2010 Litetouch DVD boot media disk for their subsidiary sites, standardizing the desktop images throughout the company.</p>
<p>It then took about a day on-site to configure the server, run the validation tests, and personally go through the documentation and steps with the IT Staff.</p>
<h4>Large Litetouch Deployment</h4>
<p>For the Large Company, we are moving their existing MDT 2008 Update 1 system to MDT 2010. Remediating any scripts and configuration items as necessary. This is an experienced staff, who just needed an extra set of eyes to help ensure this upgrade goes as quickly and as smoothly as possible. (FYI: They have about 250 Applications defined in MDT 2008)</p>
<h4>ZTIWindowsUpdate.wsf</h4>
<p>One of the changes we needed to perform today at the Large Company was to fix a couple of bugs in ZTIWindowsUpdate.wsf when calling WSUS servers.</p>
<p>First off, was a fix for the <a href="http://blogs.technet.com/sus/archive/2008/09/18/wsus-clients-fail-with-warning-syncserverupdatesinternal-failed-0x80244010.aspx">WU_E_PT_EXCEEDED_MAX_SERVER_TRIPS</a> error in WSUS. This is a Large Company, with a well managed WSUS server(lots of updates), and they found out they were hitting the hard 200KB limit during Office Updates. So we needed to code a work around to just call ZTIWindowsUpdate.wsf *again* if the error is returend.</p>
<p>Secondly, since they were *only* using WSUS, we wanted to ensure the the ZTIWindowsUpdate.wsf script did not call Microsoft Update. So I added some code to skip Microsoft Update if the parameter “/SkipMicrosoftUpdate:YES” is on the command line.</p>
<p>We will run some tests tomorrow to ensure it’s performing as expected.</p>
<h4>Link</h4>
<p><a href="http://www.deploymentlive.com/blog/ZTIWindowsUpdate.wsf">ZTIWindowsUpdate.wsf</a> </p>
<h4>Next</h4>
<p>It’s been fun setting up Companies large and small with deployment solutions like MDT 2010! We are available for consulting in 2010, if you would like to get Windows 7 and your MDT 2010 environment up and running quickly, give us a call!</p>
<p>Keith and Tim</p>
<p><a href="http://keithga.com"><span style="color:#993300;">Keith Garner</span></a><span style="color:#993300;"> is a Deployment Specialist with </span><a href="http://deployment.xtremeconsulting.com/"><span style="color:#993300;">Xtreme Consulting Group</span></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tmintner.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tmintner.wordpress.com/240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tmintner.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tmintner.wordpress.com/240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tmintner.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tmintner.wordpress.com/240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tmintner.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tmintner.wordpress.com/240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tmintner.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tmintner.wordpress.com/240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tmintner.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tmintner.wordpress.com/240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tmintner.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tmintner.wordpress.com/240/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deployment.xtremeconsulting.com&amp;blog=9840217&amp;post=240&amp;subd=tmintner&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://deployment.xtremeconsulting.com/2009/12/08/updates-to-ztiwindowsupdate-wsf/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba37c28620c8ba69ccbbfad7a905e203?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">keithga</media:title>
		</media:content>
	</item>
		<item>
		<title>Identify Driver Problems in MDT 2010 Litetouch (new tool)</title>
		<link>http://deployment.xtremeconsulting.com/2009/11/19/identify-driver-problems-in-mdt-2010-litetouch-new-tool/</link>
		<comments>http://deployment.xtremeconsulting.com/2009/11/19/identify-driver-problems-in-mdt-2010-litetouch-new-tool/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 18:00:26 +0000</pubDate>
		<dc:creator>keithga</dc:creator>
				<category><![CDATA[MDT 2010]]></category>
		<category><![CDATA[VBscript]]></category>

		<guid isPermaLink="false">http://tmintner.wordpress.com/?p=207</guid>
		<description><![CDATA[This tool is in response to a common question: In my MDT 2010 Litetouch environment, how do I identify which hardware devices are not being installed with the correct drivers? Introducing the “Yellow Bang” tool! Yellow bang is a slang term used to describe drivers that have “problems” represented by a Yellow exclamation point ( [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deployment.xtremeconsulting.com&amp;blog=9840217&amp;post=207&amp;subd=tmintner&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This tool is in response to a common question:</p>
<blockquote><p>In my MDT 2010 Litetouch environment, how do I identify which hardware devices are not being installed with the correct drivers?</p></blockquote>
<p>Introducing the “Yellow Bang” tool!</p>
<p>Yellow bang is a slang term used to describe drivers that have “problems” represented by a Yellow exclamation point ( ! ) in the Windows Device Manager:</p>
<p><a href="http://tmintner.files.wordpress.com/2009/11/image3.png"><img style="display:inline;border-width:0;" title="image" src="http://tmintner.files.wordpress.com/2009/11/image_thumb3.png?w=442&#038;h=152" border="0" alt="image" width="442" height="152" /></a></p>
<p>Now typically, most IT professionals will be using SCCM, that can gather from each machine in the environment, and query computer status in a more structured way. This solution is only designed for IT departments that are using Litetouch only.</p>
<h3>New Tool</h3>
<p>Use this tool in MDT 2010 to identify all drivers that have problems on a client machine running MDT Litetouch. These are the drivers that have a Yellow Exclamation point (Bang) in the Windows Device Manager. Simply add this script to your …\scripts\ directory, and add the script to your task sequence.</p>
<p>For each driver that is not working properly the details are written to the bdd.log and the ZTIYellowBang.log file for later review.</p>
<h3><strong>Example Output</strong></h3>
<p>For this example, I have a HP Laptop that is missing a driver for the ACPI\HPQ0004 device, which is the “HP 3D DriveGuard”. &lt;meh&gt;</p>
<pre>Microsoft Deployment Toolkit version: 5.0.1641.0
SUCCESS: 0: Create object: Set oScriptClass = New ZTIYellowBang  DRIVER_ERROR [28: Device drivers are not installed.]
DeviceID [ACPI\HPQ0004\3&amp;33FD14CA&amp;0]
HardwareID [ACPI\HPQ0004]
HardwareID [*HPQ0004]
CompatibleID []
ZTIYellowBang processing completed successfully.</pre>
<h3><strong>Steps</strong></h3>
<p>Simply copy the ZTIYellowBang.wsf script to the Deployment Share under the &#8230;\scripts\ directory. Then add the ZTIYellowBang.wsf script as a Step to your Task Sequence:</p>
<pre>Cscript.exe “%ScriptRoot%\ZTIYellowBang.wsf</pre>
<h3>Links</h3>
<p><a href="http://deploymentlive.com/blog/ZTIYellowBang.zip">ZTIYellowBang.zip</a></p>
<p>Keith</p>
<address><a href="http://keithga.com"><span style="color:#993300;">Keith Garner</span></a><span style="color:#993300;"> is a Deployment Specialist with </span><a href="http://deployment.xtremeconsulting.com/"><span style="color:#993300;">Xtreme Consulting Group</span></a></address>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tmintner.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tmintner.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tmintner.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tmintner.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tmintner.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tmintner.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tmintner.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tmintner.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tmintner.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tmintner.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tmintner.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tmintner.wordpress.com/207/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tmintner.wordpress.com/207/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tmintner.wordpress.com/207/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deployment.xtremeconsulting.com&amp;blog=9840217&amp;post=207&amp;subd=tmintner&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://deployment.xtremeconsulting.com/2009/11/19/identify-driver-problems-in-mdt-2010-litetouch-new-tool/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba37c28620c8ba69ccbbfad7a905e203?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">keithga</media:title>
		</media:content>

		<media:content url="http://tmintner.files.wordpress.com/2009/11/image_thumb3.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>How to add users to &#8220;Remote Desktop Users&#8221; Group</title>
		<link>http://deployment.xtremeconsulting.com/2009/11/18/how-to-add-users-to-remote-desktop-users-group/</link>
		<comments>http://deployment.xtremeconsulting.com/2009/11/18/how-to-add-users-to-remote-desktop-users-group/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 18:00:19 +0000</pubDate>
		<dc:creator>keithga</dc:creator>
				<category><![CDATA[MDT 2010]]></category>
		<category><![CDATA[VBscript]]></category>

		<guid isPermaLink="false">http://tmintner.wordpress.com/?p=204</guid>
		<description><![CDATA[Someone posted a question recently that I thought was intresting: What is the correct way to use ZTIGroups.wsf, the Restore Groups MDT action, to populate local group membership of groups that have a space in the name?  As a test I’m trying to use CustomSettings.ini to add domain users/groups to the local Remote Desktop Users [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deployment.xtremeconsulting.com&amp;blog=9840217&amp;post=204&amp;subd=tmintner&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Someone posted a question recently that I thought was intresting:</p>
<blockquote><p>What is the correct way to use ZTIGroups.wsf, the Restore Groups MDT action, to populate local group membership of groups that have a space in the name?  As a test I’m trying to use CustomSettings.ini to add domain users/groups to the local Remote Desktop Users group.  I didn’t find a lot of detail in the MDT docs on doing anything other than Administrators or Power Users. </p></blockquote>
<p>I had done some work in ZTIGroups.wsf earlier this year. We added the ability to save the list of group names, and create the groups dynamically during restore time, in addition to the ability to add members to the group.</p>
<p>I had done testing with ZTIGroups.wsf, however I didn’t recall testing with the group “Remote Desktop Users” group. How did that work?</p>
<p>I tried running a command:</p>
<pre>C:\&gt;cscript ZTIGroups.wsf   /Groups1:"Remote Desktop Users"   "/Remote Desktop Users1:pickett\keith.garner"   /restore /Debug:True /DebugCapture</pre>
<p>While looking at the output I noticed that the script was looking for a new property: “RemoteDesktopUsers”, where did that come from?</p>
<p>It turns out that the ZTIGroups.wsf script will look for members using the properly name derived from the name of the group being populated, *without* the spaces in the property name.</p>
<p>So running a deployment with the following properties in the customsettings.ini worked:</p>
<pre>Groups001=Remote Desktop Users  RemoteDesktopUsers001=pickett\Keith.Garner</pre>
<p>Keith</p>
<address><a href="http://keithga.com"><span style="color:#993300;">Keith Garner</span></a><span style="color:#993300;"> is a Deployment Specialist with </span><a href="http://deployment.xtremeconsulting.com/"><span style="color:#993300;">Xtreme Consulting Group</span></a></address>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tmintner.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tmintner.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tmintner.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tmintner.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tmintner.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tmintner.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tmintner.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tmintner.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tmintner.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tmintner.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tmintner.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tmintner.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tmintner.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tmintner.wordpress.com/204/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deployment.xtremeconsulting.com&amp;blog=9840217&amp;post=204&amp;subd=tmintner&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://deployment.xtremeconsulting.com/2009/11/18/how-to-add-users-to-remote-desktop-users-group/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba37c28620c8ba69ccbbfad7a905e203?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">keithga</media:title>
		</media:content>
	</item>
		<item>
		<title>ZTIUtility.vbs updated version</title>
		<link>http://deployment.xtremeconsulting.com/2009/11/13/ztiutility-vbs-updated-version/</link>
		<comments>http://deployment.xtremeconsulting.com/2009/11/13/ztiutility-vbs-updated-version/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 22:40:15 +0000</pubDate>
		<dc:creator>keithga</dc:creator>
				<category><![CDATA[MDT 2010]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[VBscript]]></category>

		<guid isPermaLink="false">http://tmintner.wordpress.com/?p=201</guid>
		<description><![CDATA[Someone was asking this week about the official version of ZTIUtility.vbs used to fix the error: 0x800704C3 ERROR_SESSION_CREDENTIAL_CONFLICT winerror.h # Multiple connections to a server or shared # resource by the same user, using more than # one user name, are not allowed. Disconnect # all previous connections to the server or # shared resource and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deployment.xtremeconsulting.com&amp;blog=9840217&amp;post=201&amp;subd=tmintner&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Someone was asking this week about the official version of ZTIUtility.vbs used to fix the error:</p>
<p>0x800704C3</p>
<pre>ERROR_SESSION_CREDENTIAL_CONFLICT winerror.h
# Multiple connections to a server or shared
# resource by the same user, using more than
# one user name, are not allowed. Disconnect
# all previous connections  to the server or
# shared resource and try again.</pre>
<p>Microsoft posted a blog entry regarding this fix with a description of the changes:</p>
<p><a title="http://blogs.technet.com/msdeployment/archive/2009/09/18/fix-for-multiple-connections-to-a-server-or-shared-resource-by-the-same-user-using-more-than-one-user-name-are-not-allowed-problem-with-mdt-2010.aspx" href="http://blogs.technet.com/msdeployment/archive/2009/09/18/fix-for-multiple-connections-to-a-server-or-shared-resource-by-the-same-user-using-more-than-one-user-name-are-not-allowed-problem-with-mdt-2010.aspx">http://blogs.technet.com/msdeployment/archive/2009/09/18/fix-for-multiple-connections-to-a-server-or-shared-resource-by-the-same-user-using-more-than-one-user-name-are-not-allowed-problem-with-mdt-2010.aspx</a></p>
<p>However someone was asking about an official version:</p>
<blockquote><p>Is there an official KB yet  or an official patch I can grab?</p></blockquote>
<p>There is no official version out yet, but here is a link to a tested version of ZTIUtility.vbs with the fix:</p>
<p><a href="http://deploymentlive.com/blog/ZTIUtility.vbs">http://deploymentlive.com/blog/ZTIUtility.vbs</a></p>
<p>Keith</p>
<address><a href="http://keithga.com"><span style="color:#993300;">Keith Garner</span></a><span style="color:#993300;"> is a Deployment Specialist with </span><a href="http://deployment.xtremeconsulting.com/"><span style="color:#993300;">Xtreme Consulting Group</span></a></address>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tmintner.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tmintner.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tmintner.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tmintner.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tmintner.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tmintner.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tmintner.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tmintner.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tmintner.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tmintner.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tmintner.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tmintner.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tmintner.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tmintner.wordpress.com/201/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deployment.xtremeconsulting.com&amp;blog=9840217&amp;post=201&amp;subd=tmintner&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://deployment.xtremeconsulting.com/2009/11/13/ztiutility-vbs-updated-version/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba37c28620c8ba69ccbbfad7a905e203?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">keithga</media:title>
		</media:content>
	</item>
		<item>
		<title>New Tool: MDT 2010 Build-out/Hydration Evaluation</title>
		<link>http://deployment.xtremeconsulting.com/2009/11/13/new-tool-mdt-2010-build-outhydration-evaluation/</link>
		<comments>http://deployment.xtremeconsulting.com/2009/11/13/new-tool-mdt-2010-build-outhydration-evaluation/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 18:05:28 +0000</pubDate>
		<dc:creator>keithga</dc:creator>
				<category><![CDATA[MDT 2010]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[VBscript]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://tmintner.wordpress.com/?p=193</guid>
		<description><![CDATA[I wanted to give a glimpse of some projects we are working here at Xtreme Consulting Services – Deployment Team. This is a Microsoft Deployment Toolkit 2010 Build-out (sometimes called Hydration) system. It starts off as a small 3MB *.zip file. The MDTBuildout.exe program will automatically download all required files (around 10GB of files), create [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deployment.xtremeconsulting.com&amp;blog=9840217&amp;post=193&amp;subd=tmintner&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I wanted to give a glimpse of some projects we are working here at Xtreme Consulting Services – Deployment Team.</p>
<p>This is a Microsoft Deployment Toolkit 2010 Build-out (sometimes called Hydration) system.</p>
<p>It starts off as a small 3MB *.zip file. The MDTBuildout.exe program will automatically download all required files (around 10GB of files), create a Virtual Machine running Windows Server 2008, and build out a functional MDT 2010 system. All the files downloaded are publicly avaiable over the internet.</p>
<p>This sample is *not* designed for production environments. The Server OS and Windows 7 Client OS&#8217;es downloaded are time-limited Evaluation versions of Microsoft OS’es, and not intended for production environments. If you would like to setup a functional system for your corporate environment, please let us know.</p>
<p>Xtreme Consulting Service’s Deployment Team is ready to assist you with your deployment needs.</p>
<h3>Features</h3>
<p>When complete, this Buildout (Hydration) system will create:</p>
<ul>
<li>A Virtual Machine running Windows Server 2008 (R1) x86 Server Standard.</li>
<li>MDT 2010, with all dependencies installed (including WAIK).
<ul>
<li>OS&#8217;es: <strong><span style="text-decoration:underline;">Server 2008</span></strong> R1 x86, <strong><span style="text-decoration:underline;">Windows 7</span></strong> x86 and <strong><span style="text-decoration:underline;">Windows 7</span></strong> x64.</li>
<li>Microsoft <strong><span style="text-decoration:underline;">Office 2007 </span></strong>Enterprise Evaluataion Version.</li>
<li>Applications: <strong><span style="text-decoration:underline;">7-zip, Foxit PDF Reader, MacroMedia player, Silverlight player, SQL Server 2008 Express, Sun Java Runtime, Video Lan Player, Windows Debugger (windbg).</span></strong></li>
<li>Sample Driver package: Intel Chipset drivers.</li>
<li>Sample Packages: <strong><span style="text-decoration:underline;">Windows 7 Language Packs</span></strong>, <strong><span style="text-decoration:underline;">Hyper-V Drivers, Remote Server Administration Tools (RSAT) </span></strong></li>
</ul>
</li>
<li><strong><span style="text-decoration:underline;">A Windows 7 Media build DVD image with Office 2007</span></strong>.</li>
<li>It will also enable a <strong><span style="text-decoration:underline;">PXE/WDS Service </span></strong>for servicing MDT 2010 WinPE Images (<strong><span style="text-decoration:underline;">no Domain Controller required</span></strong>).</li>
<li>A blank Virtual Machine ready to perform a capture of Windows 7 back to the MDT 2010 server.</li>
</ul>
<h3>Requirements</h3>
<ul>
<li>Your machine must be running windows with a version of either Hyper-V (for Windows Server 2008) or Virtual PC 7 (for Windows 7).</li>
<li>Your machine must have at least 2GB of ram, and 60GB of free hard disk space.</li>
</ul>
<h3>Walkthrough</h3>
<p>Download the MDTBuildout.zip file to your local machine and expand the contents to their own folder. You should see the manual: MDTBuildout.rtf and the Wizard Wrapper MDTBuildout.exe. Go ahead and launch the MDTBuildout.exe.</p>
<p>The MDTBuildout.exe wizard will guide you through the process of creating the virtual machine and downloading the necessary files to get it started. The wizard will create to Virtual Machines:</p>
<p>MDTVirtualServer &#8211; This is the Virtual Server that will host MDT 2010. It takes a couple of hours to setup, depending on the speed of your network connection.</p>
<p><a href="http://tmintner.files.wordpress.com/2009/11/image.png"><img style="display:inline;border-width:0;" title="image" src="http://tmintner.files.wordpress.com/2009/11/image_thumb.png?w=244&#038;h=195" border="0" alt="image" width="244" height="195" /></a></p>
<p>MDTVirtualClient &#8211; This Virtual Machine will be used later on to capture a reference image of Windows 7 with Office 2007.</p>
<p><a href="http://tmintner.files.wordpress.com/2009/11/image1.png"><img style="display:inline;border-width:0;" title="image" src="http://tmintner.files.wordpress.com/2009/11/image_thumb1.png?w=244&#038;h=195" border="0" alt="image" width="244" height="195" /></a></p>
<p>It is recommended that you use the default settings during the MDTBuildout.exe wizard, although, you can override the settings if required. Be sure to give the Virtual Machines enough memory, place the *.VHD files on a disk with 40+GB of space free, and select the Virtual Networking adapter with internet access.</p>
<p>When you select &#8220;Build&#8221; the wizard will begin the process of downloading the Windows Server 2008 Eval *.iso file to the local machine, this file is about 1.8GB. When done, the wizard will automatically create the virtual machines with the required parameters, and start the process. You can continue to watch the progress in the VM window.</p>
<p>The entire build process can take several hours depending on the speed of your network connection. Let the install run. When complete, you should see a dialog showing the status.</p>
<p>The password for the MDT Server is: P@ssword</p>
<p>When complete, you can start the MDT 2010 Workbench (start &#8211;&gt; Microsoft Deployment Toolkit &#8211;&gt; Deployment Workbench), and view the components added to the system.</p>
<p><a href="http://tmintner.files.wordpress.com/2009/11/image2.png"><img style="display:inline;border-width:0;" title="image" src="http://tmintner.files.wordpress.com/2009/11/image_thumb2.png?w=244&#038;h=205" border="0" alt="image" width="244" height="205" /></a></p>
<p>The deployment share should be at: c:\deploymentshare</p>
<p>The media share should be at: c:\media</p>
<p>If you wish, you can start the PXE server, to allow other computers on the network to boot into MDT 2010, this is a great way to upgrade machines on your corporate network in a &#8220;self-service&#8221; fashion. To enable the pxe server, run the command &#8220;net start wdsserver&#8221;. <span style="color:#ff0000;"><strong>WARNING</strong>: The PXE/WDS Server running on the Virtual Machine *will* conflict with other PXE/WDS servers on the network.</span><span style="color:#ff0000;"> Please ensure that you are the *only* PXE/WDS server on the network before starting! This is why the WDS service is disabled by default.</span></p>
<p>You can also burn the contents of the Win7 Media ISO to a DVD drive. Or perhaps copy the *.iso file to the local machine.</p>
<p>Use this server to evaluate MDT 2010 and try deploying Windows 7 (Evaluation Version), to your test lab.</p>
<p>When ready, you can boot the MDTVirtualClient Virtual Machine, using either the Win7 Media ISO image, or PXE/WDS. The Client Virtual Machine has been specially configured to auto install Windows 7 and upload the captured image back to the MDT 2010 Server in a completely hands off fashion.</p>
<p>More documentation, walkthroughs, and videos to follow.</p>
<h3>Link</h3>
<p><a href="http://deploymentlive.com/blog/MDTBuildout.zip">MDTBuildout.zip</a></p>
<p>Keith</p>
<address><a href="http://keithga.com"><span style="color:#993300;">Keith Garner</span></a><span style="color:#993300;"> is a Deployment Specialist with </span><a href="http://deployment.xtremeconsulting.com/"><span style="color:#993300;">Xtreme Consulting Group</span></a></address>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tmintner.wordpress.com/193/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tmintner.wordpress.com/193/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tmintner.wordpress.com/193/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tmintner.wordpress.com/193/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tmintner.wordpress.com/193/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tmintner.wordpress.com/193/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tmintner.wordpress.com/193/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tmintner.wordpress.com/193/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tmintner.wordpress.com/193/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tmintner.wordpress.com/193/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tmintner.wordpress.com/193/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tmintner.wordpress.com/193/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tmintner.wordpress.com/193/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tmintner.wordpress.com/193/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deployment.xtremeconsulting.com&amp;blog=9840217&amp;post=193&amp;subd=tmintner&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://deployment.xtremeconsulting.com/2009/11/13/new-tool-mdt-2010-build-outhydration-evaluation/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ba37c28620c8ba69ccbbfad7a905e203?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">keithga</media:title>
		</media:content>

		<media:content url="http://tmintner.files.wordpress.com/2009/11/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://tmintner.files.wordpress.com/2009/11/image_thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://tmintner.files.wordpress.com/2009/11/image_thumb2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
	</channel>
</rss>