<?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>Michael Niehaus' Windows and Office deployment ramblings</title><link>http://blogs.technet.com/b/mniehaus/</link><description /><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>User groups in the Seattle area</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/11/06/user-groups-in-the-seattle-area.aspx</link><pubDate>Tue, 06 Nov 2012 00:30:11 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3530724</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3530724</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/11/06/user-groups-in-the-seattle-area.aspx#comments</comments><description>&lt;p&gt;You would expect that having Microsoft in the Seattle area would result in having a plethora of Microsoft-related users groups around.&amp;#160; But over the years, I’ve found that these are somewhat hard to find.&amp;#160; So here’s my compilation:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.sitpug.com/" target="_blank"&gt;Seattle IT Pro User's Group&lt;/a&gt;.&amp;#160; This group talks about all sorts of IT pro-related topics, including Windows 8, Windows Server 2012, Windows Azure, System Center, Office, SharePoint, etc. – pretty much anything that an IT pro would care about.&amp;#160; They meet the first Wednesday of every month in Bellevue at the Lincoln Square Microsoft office.&amp;#160; As long as I’m in town, I try to make it to this meeting.&amp;#160; &lt;strong&gt;There is a meeting coming up on Wednesday of this week (November 7th) at 6pm – there will be copies of Windows 8 Pro to be given away and free food provided, so RSVP now using the hyperlink above.&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.linkedin.com/groups/Northwest-System-Center-User-Group-4026126" target="_blank"&gt;Northwest System Center User’s Group&lt;/a&gt;.&amp;#160; This group meets every other month at the Microsoft Civica office in Bellevue to talk about System Center products, and there is ample participation from the System Center product groups (including Wally Mead).&amp;#160; I usually try to make it to this one too.&amp;#160; &lt;strong&gt;The next meeting is coming up on November 9th, so sign up now via the LinkedIn hyperlink above.&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://pnwsql.org/" target="_blank"&gt;Pacific Northwest SQL Server User’s Group&lt;/a&gt;.&amp;#160; This group meets every second Wednesday of the month, usually on the main Microsoft campus, to talk about topics related to SQL Server.&amp;#160; By my calculation that means there is a meeting coming up next week, for those interested in SQL Server, so keep checking their web site for details.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://psspug.org" target="_blank"&gt;Puget Sound SharePoint User’s Group&lt;/a&gt;.&amp;#160; This group meets monthly at the Microsoft Civica office in Bellevue to talk about SharePoint.&amp;#160; The next meeting is coming up on November 15th, from 6-8:30pm.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I’m sure there are more groups out there that I haven’t heard about, so let me know if there are more that I should add to this list.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3530724" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/Windows+7/">Windows 7</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/ConfigMgr/">ConfigMgr</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/Windows+8/">Windows 8</category></item><item><title>Using boot from VHD and differencing disks</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/11/01/using-boot-from-vhd-and-differencing-disks.aspx</link><pubDate>Thu, 01 Nov 2012 02:48:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3529962</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3529962</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/11/01/using-boot-from-vhd-and-differencing-disks.aspx#comments</comments><description>&lt;p&gt;MDT 2012 includes a task sequence for deploying an operating system into a VHD, setting up the computer for booting from that VHD.&amp;nbsp; See my previous &lt;a href="http://blogs.technet.com/b/mniehaus/archive/2012/10/02/mdt-2012-update-1-deploy-to-vhd.aspx"&gt;blog posting about Deploy to VHD&lt;/a&gt; for more details on that.&amp;nbsp; As I mentioned in that blog, setting up a differencing disk to be created during the &amp;ldquo;Deploy to VHD&amp;rdquo; task sequence doesn&amp;rsquo;t make sense, as the parent VHD would be empty.&amp;nbsp; But it would be useful to be able to do it later, so that you have the already installed and configured OS in the main VHD, and then one or more differencing disks set up with that VHD as the parent.&lt;/p&gt;
&lt;p&gt;So how do you actually do that?&amp;nbsp; The basic steps would be:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Boot into Windows PE.&amp;nbsp; (You can&amp;rsquo;t create a differencing disk off of a parent VHD if that VHD is currently open, as it would be when boot from the VHD.)&lt;/li&gt;
&lt;li&gt;Use DISKPART to create a new differencing disk with the existing VHD as the parent.&lt;/li&gt;
&lt;li&gt;Create a new BCD entry for the differencing disk.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To help with that process, I created a new script called Diff.wsf, attached below, that will perform all of those steps.&amp;nbsp; Set up a new custom task sequence in your MDT deployment share that has a single step in it that runs the script like so:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/0385.image_5F00_5D337B33.png"&gt;&lt;img width="412" height="364" title="image" style="display: inline; background-image: none;" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/8473.image_5F00_thumb_5F00_35F931FE.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Then reboot into your MDT Lite Touch boot image (either from media or from PXE) and run this task sequence.&amp;nbsp; The command line parameters above tell it what to do:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;/CREATE specifies to create a new differencing disk.&lt;/li&gt;
&lt;li&gt;/CLEAN specifies to remove any existing differencing disks that might be present.&lt;/li&gt;
&lt;li&gt;/STAGE says to copy the Diff.wsf and all related scripts locally onto the disk, in the same folder as the parent VHD file.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The task sequence completes while in Windows PE, and as soon as you click finish on the summary wizard page, the computer will reboot into the new differencing disk, causing all changes to be written into the diff file while the parent VHD remains unchanged (and effectively read-only).&lt;/p&gt;
&lt;p&gt;After that initial differencing disk has been created, the locally-staged script can be run directly without even using a task sequence.&amp;nbsp; Assuming that the drive letter assigned to the physical disk containing the parent VHD (and the differencing disks) is D:, then the script will be located at D:\VHD\Scripts\Diff.wsf.&amp;nbsp; When you run it from there (initiated from within the currently-running OS), you can specify any of the parameters described above, or you can leave off the parameters and the script will prompt.&lt;/p&gt;
&lt;p&gt;Note that the script can&amp;rsquo;t actually delete the differencing disk that is presently in use because, well, it&amp;rsquo;s currently in use.&amp;nbsp; But it can remove the BCD entry for it, and after a reboot it can then be deleted.&amp;nbsp; So the script will also take care of cleaning up any &amp;ldquo;orphaned&amp;rdquo; differencing disks it finds laying around.&lt;/p&gt;
&lt;p&gt;A few final comments on scenarios for running Diff.wsf from within the currently-running OS:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If you specify /CLEAN without /CREATE, it will remove all the differencing disks and boot back into the main VHD file.&amp;nbsp; This is useful if you want to update (e.g. patch) the installed OS.&lt;/li&gt;
&lt;li&gt;If you specify /CREATE without /CLEAN, you&amp;rsquo;ll get another differencing disk and another BCD entry &amp;ndash; so if you really want to, you can boot between different differencing disks.&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3529962" width="1" height="1"&gt;</description><enclosure url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-03-52-99-62/Diff.zip" length="2767" type="application/zip" /></item><item><title>More experimenting with RAMdisks: Using a VM completely in RAM</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/10/18/more-experimenting-with-ramdisks-using-a-vm-completely-in-ram.aspx</link><pubDate>Thu, 18 Oct 2012 07:51:06 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3527307</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3527307</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/10/18/more-experimenting-with-ramdisks-using-a-vm-completely-in-ram.aspx#comments</comments><description>&lt;p&gt;In my &lt;a href="http://blogs.technet.com/b/mniehaus/archive/2012/10/13/experimenting-with-a-ramdisk.aspx"&gt;previous post&lt;/a&gt;, I talked about using a small RAMdisk to speed up the process of generating MDT boot images.&amp;#160; But the trial version only supports RAMdisks up to 4GB in size and only on client OSes.&amp;#160; One comment posted to that blog pointed out that StarWind also has a free RAMdisk available, and it supports larger RAMdisks and server OSes.&amp;#160; See &lt;a title="http://www.starwindsoftware.com/high-performance-ram-disk-emulator" href="http://www.starwindsoftware.com/high-performance-ram-disk-emulator"&gt;http://www.starwindsoftware.com/high-performance-ram-disk-emulator&lt;/a&gt; for more information.&amp;#160; (Again, I’m not recommending it, just pointing out its existence.&amp;#160; Registration is required to download.)&lt;/p&gt;  &lt;p&gt;This let me test out another scenario: Creating a RAMdisk large enough to hold an entire virtual machine, then seeing how much faster Windows can be deployed into such a virtual machine.&amp;#160; Fortunately, I have a workstation-class machine with enough RAM to do something like that.&amp;#160; I created a 20GB RAMdisk, formatted it as NTFS, then created a new VM where the VHDX file (using Windows Server 2012) was on the RAMdisk.&lt;/p&gt;  &lt;p&gt;Using a physical disk array (attached to an Intel RAID controller) on the same system, I can deploy Windows 8 in about 10 minutes (new computer, clean install, no apps, no updates, etc.).&amp;#160; So how much faster is the RAMdisk?&amp;#160; On my machine, it took about eight minutes – noticeable, shaving 20% off of the time, but not as fast as I would have hoped.&amp;#160; That’s another case of shifting the bottleneck: the image is pulled across the (virtual) network, read from a physical disk (VHD), consumes CPU, etc.&amp;#160; Now if I only had enough RAM to load my entire server VHD into a RAMdisk to see what that does.&amp;#160; Last time I checked, the server required about a terabyte of disk space, so going that far is not possible.&lt;/p&gt;  &lt;p&gt;But I can do the next best thing:&amp;#160; Create an MDT media ISO, copy that into the RAMdisk, and do a deployment using that instead of over the network.&amp;#160; How long did take?&amp;#160; About 7 minutes and 30 seconds.&amp;#160; Sigh, 30 seconds saved.&lt;/p&gt;  &lt;p&gt;One more test:&amp;#160; Give the VM more CPUs.&amp;#160; Instead of the default single core, I increased it to four cores and tried again.&amp;#160; This time, the deployment completed in 6 minutes and 30 seconds.&amp;#160; Another minute shaved off.&amp;#160; (Don’t have lots of RAM?&amp;#160; Well, you probably have more than one CPU in your Hyper-V server, use it when building images.)&lt;/p&gt;  &lt;p&gt;So that’s up to a 35% improvement in performance – good overall, but not quite the fantastic results I was hoping for.&amp;#160; Ah well, it was worth a try…&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3527307" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/MDT/">MDT</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/Windows+7/">Windows 7</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/Windows+8/">Windows 8</category></item><item><title>Experimenting with a RAMdisk</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/10/13/experimenting-with-a-ramdisk.aspx</link><pubDate>Sat, 13 Oct 2012 06:49:30 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3525853</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3525853</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/10/13/experimenting-with-a-ramdisk.aspx#comments</comments><description>&lt;p&gt;One of the slow operations in the MDT Deployment Workbench is the initial “Update deployment share” process that has to completely generate new Lite Touch boot images.&amp;#160; I always assumed that this was slow due to the amount of I/O being generated by the update process.&lt;/p&gt;  &lt;p&gt;Recently, ATI and Dataram released a trial version of their RAMdisk software at &lt;a href="http://www.radeonramdisk.com"&gt;http://www.radeonramdisk.com&lt;/a&gt; (not that I am endorsing the product – it just happened to come through my Twitter feed and it works on Windows 8), so I had a chance to test the assumption:&amp;#160; What would happen if the temporary storage used by MDT to generate the boot images would be on a RAMdisk?&lt;/p&gt;  &lt;p&gt;So I installed the software on my laptop, created a 2GB RAMdisk, and formatted it as an NTFS disk.&amp;#160; First, I “completely regenerated” the MDT boot images without using the RAMdisk.&amp;#160; That process finished in six minutes and 15 seconds (6:15).&amp;#160; Then, to get it to use the RAMdisk, I did the following:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Start an elevated command prompt.&lt;/li&gt;    &lt;li&gt;Set TMP and TEMP to point to the RAMdisk (E:\ in my case).&lt;/li&gt;    &lt;li&gt;Run “mmc.exe DeploymentWorkbench.msc” from the elevated command prompt, so it inherits the TMP and TEMP environment variable settings.&lt;/li&gt;    &lt;li&gt;“Completely regenerate” the MDT boot images again.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;That looks sort of like this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/4276.image_5F00_4201788D.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/4251.image_5F00_thumb_5F00_53DE0C5A.png" width="489" height="82" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;So what difference did it make?&amp;#160; Well, instead of 6:15, the whole process finished in 4:55.&amp;#160; Not too shabby, about 20% faster, but I expected more.&amp;#160; So why wasn’t it any faster?&amp;#160; Well, it turns out it’s just a case of shifting the bottleneck.&amp;#160; Watching the process using &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx"&gt;ProcMon&lt;/a&gt; and the Windows 8 task manager, I could see that the process was CPU-bound; the RAMdisk utilization was negligible.&amp;#160; Hmm, I guess it’s time for a faster CPU…&lt;/p&gt;  &lt;p&gt;The trial software doesn’t support server OSes or more than 4GB of RAM; you have to purchase the full version for that.&amp;#160; Maybe I’ll try that sometime: Imagine a VM where the entire VHD is in a RAMdisk.&amp;#160; I wonder how long that would take…&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3525853" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/MDT/">MDT</category></item><item><title>MDT 2012 Update 1: Deploy to VHD</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/10/02/mdt-2012-update-1-deploy-to-vhd.aspx</link><pubDate>Tue, 02 Oct 2012 05:38:12 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3523678</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3523678</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/10/02/mdt-2012-update-1-deploy-to-vhd.aspx#comments</comments><description>&lt;p&gt;I was working on a separate blog posting (to be posted soon) that referenced the “Deploy to VHD” support that was present in MDT 2012 and improved in MDT 2012 Update 1 and wanted to include a link to that previous blog.&amp;#160; Except there was no previous blog – I guess I never did one…&lt;/p&gt;  &lt;p&gt;So let’s start with what was added in MDT 2012.&amp;#160; Present in this version are two task sequence templates:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Deploy to VHD Client Task Sequence.&amp;#160; This is the equivalent of the “Standard Client Task Sequence” template, modified to deploy a client OS (Windows 7 or above) into a VHD file.&lt;/li&gt;    &lt;li&gt;Deploy to VHD Server Task Sequence.&amp;#160; This is the equivalent of the “Standard Server Task Sequence” template, modified to deploy a server OS (Windows Server 2008 R2 or above) into a VHD file.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Just to be clear, these task sequences have nothing to do with the creation of virtual machines (although you could use them in virtual machines – there’s nothing preventing a VM from using boot from VHD).&amp;#160; Instead, these are designed to do the following, in the case of a new computer deployment:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Format and partition the physical disk.&lt;/li&gt;    &lt;li&gt;Create a new, empty VHD file.&lt;/li&gt;    &lt;li&gt;Format and partition the VHD file.&lt;/li&gt;    &lt;li&gt;Apply the specified operating system WIM image to a volume created in the VHD file.&lt;/li&gt;    &lt;li&gt;Set up a BCD entry to boot from the OS volume contained in the VHD file.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Of course all the other standard task sequence components are present too (injecting drivers, installing apps, applying patches, etc.).&amp;#160; Also, in MDT 2012 Update 1, the first step to format and partition the physical disk can be skipped, causing the new OS to be created on the existing disk, not disturbing the existing OS that might be on that disk.&amp;#160; As a result, you could then have a dual-boot computer, choosing the appropriate OS from the boot menu as there would be multiple BCD entries.&lt;/p&gt;  &lt;p&gt;MDT 2012 Update 1 also will work with other scenarios, e.g. refreshes, but I’m not exactly sure why would want to do that.&amp;#160; Imagine what happens:&amp;#160; The user state is captured from current OS on the disk, a new VHD is created with the new OS, and then the user state is restored into that new OS in the VHD.&amp;#160; But now the user state is in both places, in the old OS and in the new OS.&amp;#160; (MDT 2012 RTW wouldn’t preserve the existing BCD, so you would always end up with only one BCD entry.&amp;#160; That behavior was fixed in MDT 2012 Update 1.)&lt;/p&gt;  &lt;p&gt;If you want to try refreshing from a system already booting from a VHD file into a new OS running from a VHD file (same or different one), don’t.&amp;#160; It won’t work.&amp;#160; The challenge is that MDT really isn’t aware that the existing OS volume is in a VHD, so it might run into a variety of issues (e.g. staging the boot WIM in the VHD, or any operation that requires accessing the old OS files from within Windows PE).&lt;/p&gt;  &lt;p&gt;So why is this referred to as “Deploy to VHD”?&amp;#160; It’s called that because MDT is not moving around VHD files (which would be highly inefficient, as these files aren’t compressed in any way).&amp;#160; Instead, it creates a new empty VHD file and deploys the operating system WIM file into it.&amp;#160; This is actually fairly fast and efficient, and surprisingly doesn’t complicate the deployment process very much at all.&lt;/p&gt;  &lt;p&gt;Why might you want to do this?&amp;#160; This is primarily useful as a mechanism for setting up an additional OS on an existing computer.&amp;#160; Personally, I prefer using virtual machines for most things, but there could be some valid cases where using an OS running on the physical hardware (which after all is what you are doing, even when booting from a VHD file) is advantageous.&lt;/p&gt;  &lt;p&gt;There are a few gotchas in the process though.&amp;#160; Because of some technical issues that could occur when using dynamically expanding VHDs, any time you perform a “boot from VHD” the VHD file will automatically expand to its full size (to make sure that Windows never needs to do this while the OS in the VHD is actively running).&amp;#160; So even if you have a 10GB operating system WIM (expanded from a 3GB WIM), you’ll end up with a much larger VHD file.&amp;#160; By default, MDT will create a VHD file whose maximum size is 80% of the available disk space on the OS volume.&amp;#160; So if you do a bare metal deployment to a computer with a 128GB physical drive, you’ll end up with a 102GB VHD file and about 26GB of free disk space.&amp;#160; You can customize this by editing the task sequence if you don’t want it to be that large:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/2022.image_5F00_62CA2EF2.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/7801.image_5F00_thumb_5F00_30665B73.png" width="504" height="448" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Another gotcha has to do with the use of differencing disks, which you can see in the above screen shot.&amp;#160; What happens if you configure that?&amp;#160; Well, it will happily create a new empty VHD and then create a differencing disk on that empty VHD.&amp;#160; So then when the operating system image gets deployed, it ends up writing the whole thing into the differencing disk, while the parent VHD stays empty.&amp;#160; That’s not terribly useful.&amp;#160; But there are some additional properties in the underlying MDT ZTIVHDCreate.wsf script that could be leveraged instead to have MDT start by making a copy of an existing VHD file, instead of starting with an empty VHD.&amp;#160; But that’s a more advanced scenario, left for the creative types.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3523678" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/MDT/">MDT</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/Windows+7/">Windows 7</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/Windows+8/">Windows 8</category></item><item><title>MDT 2012 Update 1: Roles and Features improvements</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/09/27/mdt-2012-update-1-roles-and-features-improvements.aspx</link><pubDate>Wed, 26 Sep 2012 23:00:30 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3522694</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3522694</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/09/27/mdt-2012-update-1-roles-and-features-improvements.aspx#comments</comments><description>&lt;p&gt;Apparently I was so wrapped up in the MDT 2012 Update 1 development process that I forgot to talk about one of the areas that consumed weeks of my time before the MDT 2012 Update 1 release: improvements to the “Roles and Features” logic.&lt;/p&gt;  &lt;p&gt;In MDT 2010 and MDT 2012, we had a task sequence action to “Install Roles and Features” that you could use to install roles and features on various operating systems.&amp;#160; But it didn’t support Windows 8 or Windows Server 2012; it tried (unsuccessfully in some cases) to merge all of the role and feature lists into one single list for the rest of the OSes; it didn’t include a complete list of roles and features for all the OSes (e.g. Windows 7); etc.&amp;#160; Basically, it needed a lot of work.&lt;/p&gt;  &lt;p&gt;So in MDT 2012 Update 1, we took the opportunity to do some housecleaning.&amp;#160; First, we changed the “Install Roles and Features” task sequence UI to allow you to display a filtered list of roles and features for the particular OS you are deploying:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/2804.image_5F00_06FF97DF.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/7288.image_5F00_thumb_5F00_51F308AE.png" width="355" height="450" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We also made sure that the complete lists were present for all the various OSes:&amp;#160; Windows 7, Windows 8, Windows Server 2008 (full install and core install), Windows Server 2008 R2 (full install and core install), and Windows Server 2012 (full install and core install).&amp;#160; (We didn’t change the list for Windows XP and Windows Server 2003.&amp;#160; Given that those are already in extended support and rapidly approaching their end-of-life date, we’re not adding new functionality for them.)&amp;#160; And we verified the lists – something that gave our test team a real workout, as we had to make sure that we properly handled all the dependencies between the roles and features on OSes where that wasn’t handled automatically (e.g. Windows 7).&lt;/p&gt;  &lt;p&gt;Then, we added a new Lite Touch wizard pane to let you dynamically choose roles and features.&amp;#160; It automatically displays the right list based on the OS being deployed, allowing you to choose additional roles and features to install later in the task sequence:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/1321.image_5F00_5FC54EA9.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/3377.image_5F00_thumb_5F00_3FAA41EC.png" width="454" height="334" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;What do you need to enable this wizard pane?&amp;#160; Just add a step to the task sequence (somewhere in the State Restore phase; the exact location doesn’t matter, but I typically choose to put it in the “Custom Tasks” group) and the new pane will automatically show up.&amp;#160; If you don’t want the wizard pane, you can turn it off through Custom Settings.ini by specifying “SkipRoles=YES”.&lt;/p&gt;  &lt;p&gt;We also added a new “Uninstall Roles and Features” task sequence step that can be used to remove roles and features that you no longer want.&amp;#160; It presents exactly the same list of roles and features inside the task sequence editor:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/7510.image_5F00_6678582C.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/0638.image_5F00_thumb_5F00_465D4B6F.png" width="342" height="434" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Notice the red box above, which I highlighted to point out one specific Windows 8 and Windows Server 2012 feature (and only shows up when you choose Windows 8 or Windows Server 2012):&amp;#160; Not only can you uninstall roles and features, but you can also completely remove the components, getting rid of all the files related to that component.&amp;#160; (If you ever want to add those back, Windows can download the components from Windows Update, or you can provide the original media to pull them from the WIM file.&amp;#160; See &lt;a title="http://technet.microsoft.com/en-us/library/hh824822.aspx" href="http://technet.microsoft.com/en-us/library/hh824822.aspx"&gt;http://technet.microsoft.com/en-us/library/hh824822.aspx&lt;/a&gt; for more details around this, as well as &lt;a title="http://technet.microsoft.com/en-us/library/hh825020" href="http://technet.microsoft.com/en-us/library/hh825020"&gt;http://technet.microsoft.com/en-us/library/hh825020&lt;/a&gt; for information about how to specify an alternate “repair source” instead of Windows Update.)&lt;/p&gt;  &lt;p&gt;It’s worth noting too that we added some extra logic to handle the installation of .NET 3.5 on Windows 8 and Windows Server 2012.&amp;#160; For both of these OSes, the .NET 3.5 feature is not present in the standard WIM file, but the files do exist on the media in the \sources\sxs folder.&amp;#160; So for Lite Touch deployments, we will automatically provide these files to Windows as long as you have imported the full source files into your deployment share.&amp;#160; For ConfigMgr clients, you would need to do a little bit more:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Set up a network share containing the contents of the “sources\sxs” folder from the original Windows 8 or Windows Server 2012 media.&lt;/li&gt;    &lt;li&gt;Set a task sequence variable (either through CustomSettings.ini or directly in the task sequence) called “WindowsSource” that points to the location of that folder.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Behind the scenes, the script responsible for performing the role and feature work, ZTIOSRole.wsf, figures out the right thing to do for each OS:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;For Windows Server 2003, use SYSOCMGR.EXE.&lt;/li&gt;    &lt;li&gt;For Windows Server 2008, use SERVERMANAGERCMD.EXE.&lt;/li&gt;    &lt;li&gt;For Windows 7 or Windows 8, use DISM.EXE.&lt;/li&gt;    &lt;li&gt;For Windows Server 2008 R2 (non-core) or Windows Server 2012, use PowerShell.&lt;/li&gt;    &lt;li&gt;For Windows Server 2008 R2 (core), use OCSETUP.EXE.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Fun stuff.&amp;#160; (For those of you keeping track, this also means that MDT now actually uses PowerShell itself during a deployment task sequence to install or uninstall roles and features on Windows Server 2008 R2 and Windows Server 2012.&amp;#160; To keep things simple, the ZTIOSRole.wsf script calls the ZTIOSRolePS.ps1 script to take care of this.&amp;#160; Look at the logic in ZTIOSRole.wsf and the new ZTIPSUtility.vbs script to see how that works, in case you ever have the need to do something similar, e.g. do some work in VBScript and some in PowerShell.)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3522694" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/MDT/">MDT</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/Windows+7/">Windows 7</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/ConfigMgr/">ConfigMgr</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/Windows+8/">Windows 8</category></item><item><title>MDT 2012 Update 1 has been updated</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/09/19/mdt-2012-update-1-has-been-updated.aspx</link><pubDate>Wed, 19 Sep 2012 21:53:55 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3521187</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3521187</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/09/19/mdt-2012-update-1-has-been-updated.aspx#comments</comments><description>&lt;p&gt;For those of you using ConfigMgr 2012, you may be interested in this.&amp;#160; When &lt;a href="http://blogs.technet.com/b/configurationmgr/archive/2012/08/21/now-available-cumulative-update-1-for-system-center-2012-configuration-manager.aspx"&gt;ConfigMgr 2012 Cumulative Update 1&lt;/a&gt; was released, it was discovered that you could no longer create a new task sequence using MDT 2012 Update 1 and the “Create MDT Task Sequence” wizard.&amp;#160; When you tried, you would get an error like so:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Microsoft.ConfigurationManagement.ManagementProvider.SmsConnectionException: Failed to validate property Type. ---&amp;gt; System.Runtime.InteropServices.COMException: Failed to validate property Type.     &lt;br /&gt;&amp;#160;&amp;#160; at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)      &lt;br /&gt;&amp;#160;&amp;#160; at System.Management.ManagementObject.InvokeMethod(String methodName, ManagementBaseObject inParameters, InvokeMethodOptions options)      &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine.WqlConnectionManager.ExecuteMethod(String methodClass, String methodName, Dictionary`2 methodParameters, Boolean traceParameters)      &lt;br /&gt;&amp;#160;&amp;#160; --- End of inner exception stack trace ---      &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine.WqlConnectionManager.ExecuteMethod(String methodClass, String methodName, Dictionary`2 methodParameters, Boolean traceParameters)      &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine.WqlConnectionManager.ExecuteMethod(String methodClass, String methodName, Dictionary`2 methodParameters)      &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.BDD.Wizards.SCCM_ImportTaskSequenceTask.DoWork(SmsPageData smspageData, Dictionary`2 data)&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;A new MDT 2012 Update 1 download has now been released containing a fix for that:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/en-us/download/details.aspx?id=25175" href="http://www.microsoft.com/en-us/download/details.aspx?id=25175"&gt;http://www.microsoft.com/en-us/download/details.aspx?id=25175&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;From the text on that page:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;MDT 2012 Update 1 version 6.1.2373.0 (Version 6.1.1 on this page) was made available for download on September 19, 2012 and adds support for System Center Configuration Manager 2012 CU1 and System Center Configuration Manager 2012 SP1 Beta. It can be identified as MDT build 6.1.2373.0 in the MDT Workbench console or in the installer program properties. This is the latest version and we recommend all users run the latest version when they can to ensure the smoothest experience during future upgrades. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;So for those of you keeping track, the original MDT 2012 Update 1 release was build 6.1.2369.0, while the new release is 6.1.2373.0.&amp;#160; Other than this wizard fix and some documentation updates for ConfigMgr 2012 SP1 Beta, there are no other changes.&amp;#160; So if you are using ConfigMgr 2012, please download the new version, install it, and then repeat the “Configure ConfigMgr Integration” process to integrate the updated binaries into your ConfigMgr console.&amp;#160; (You don’t need to recreate any task sequences or change the MDT toolkit files package if you are already running MDT 2012 Update 1.)&lt;/p&gt;  &lt;p&gt;If you are only using Lite Touch, you don’t need to upgrade, but there would be no harm in doing so.&amp;#160; Note that after doing this you would need to update your deployment shares, boot media, etc.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3521187" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/MDT/">MDT</category></item><item><title>Using the Windows Performance Toolkit</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/09/13/using-the-windows-performance-toolkit.aspx</link><pubDate>Thu, 13 Sep 2012 08:39:26 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3519872</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3519872</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/09/13/using-the-windows-performance-toolkit.aspx#comments</comments><description>&lt;p&gt;Inside the new Windows Assessment and Deployment Kit (ADK) that was released back in August is a component called the Windows Performance Toolkit.&amp;#160; I’ve talked about this at various events over the past few months, noting that you can use this kit to help identify what is causing your computers to take so long when they start up before they are usable.&amp;#160; But people always ask “how do I do that myself”.&amp;#160; First, I would suggest reviewing the documentation that is available online:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/hh162945" href="http://msdn.microsoft.com/en-us/library/hh162945"&gt;http://msdn.microsoft.com/en-us/library/hh162945&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Some of you might have used a previous version of this toolkit, which included tools called XPERF and XPERFVIEW.&amp;#160; This latest version includes new replacement tools (although the old tools are still around for compatibility, for those die-hard users) called the Windows Performance Recorder, WPR.EXE (command line) and WPRUI.EXE (GUI), and the Windows Performance Analyzer, WPA.EXE.&amp;#160; The Recorder captures the events; the Analyzer displays the results.&amp;#160; There is another utility called XBOOTMGR.EXE that takes care of one of the more complicated processes: setting up the computer so that it captures information at boot time.&amp;#160; That’s the one we’ll want to use here.&lt;/p&gt;  &lt;p&gt;So let’s assume that you are experiencing a problem with Windows 7 computers starting up slowly.&amp;#160; You can reproduce this at will, but it’s not immediately obvious why.&amp;#160; So you log on to the Windows 7 computer, install the Windows Performance Toolkit redistributable from a computer that has the ADK installed (so we don’t need to put the whole ADK on the Windows 7 computer), and then run the “xbootmgr.exe -trace boot” command to get everything started:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/6012.image_5F00_7EDAD17B.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/3858.image_5F00_thumb_5F00_11432231.png" width="608" height="457" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;It will quickly reboot the computer, so be prepared.&amp;#160; As soon as you can, log in to the computer to finish up the process.&amp;#160; By default, it will wait two minutes to let the system settle down, but you can choose to end it sooner by clicking the “Finish” button:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/1715.image_5F00_007B7783.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/7674.image_5F00_thumb_5F00_6BA97F02.png" width="615" height="462" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Then you can run the Windows Performance Analyzer to look at the trace; start it using the shortcut on the Start menu.&amp;#160; (Note that it requires .NET 4.0 so if you don’t have that installed it will complain.&amp;#160; You can always analyze the trace remotely if you want, just copy off the *.ETL file.)&amp;#160; Once it launches, have it open the trace file that was created in the same folder we ran XBOOTMGR.EXE from:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/0576.image_5F00_01AFEA95.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/5543.image_5F00_thumb_5F00_78DFE248.png" width="618" height="464" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Since the Windows Performance Analyzer is very graphically-oriented, you might want to do this using a high-resolution display:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/6136.image_5F00_4FF4CD3F.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/6545.image_5F00_thumb_5F00_13E88B8A.png" width="843" height="633" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;And that’s really where the fun starts: figuring out what graphs to add, what timeframes to focus on, and trying to get to a root cause.&amp;#160; I’m no expert myself (yet), but I can see from the trace above that most of the time was spent in the Winlogon Init process.&amp;#160; And probably not coincidentally, most of that time corresponds to the gpscript.exe and wscript.exe process lifetimes.&amp;#160; And farther below, we can see generic events from Group Policy that confirm group policy processing took about a minute.&amp;#160; So what was going on in this case?&amp;#160; A bad startup script that took a minute to complete, combined with a policy setting that said “don’t run startup scripts asynchronously”.&lt;/p&gt;  &lt;p&gt;Now I just need to teach myself how to better analyze these traces.&amp;#160; Let the fun begin…&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3519872" width="1" height="1"&gt;</description></item><item><title>Troubleshooting Windows Deployments, take #2</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/09/11/troubleshooting-windows-deployments-take-2.aspx</link><pubDate>Tue, 11 Sep 2012 10:18:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3519368</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3519368</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/09/11/troubleshooting-windows-deployments-take-2.aspx#comments</comments><description>&lt;p&gt;Traveling from New Zealand to Australia for the TechEd Australia conference, I had some additional time to work on the troubleshooting guide, which is now starting to feel more like a book.&amp;nbsp; I added two sections to this document, one reviewing all the possible return codes from the MDT scripts (yes, there are lots of them, over 30 pages worth) as well as from USMT 5.0.&lt;/p&gt;
&lt;p&gt;As you can probably tell, my focus is still on reference material.&amp;nbsp; See the attached file below.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3519368" width="1" height="1"&gt;</description><enclosure url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-03-51-93-68/Troubleshooting-Windows-Deployments-2012_2D00_09_2D00_11.pdf" length="942464" type="application/pdf" /><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/MDT/">MDT</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/Windows+7/">Windows 7</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/ConfigMgr/">ConfigMgr</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/USMT/">USMT</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/Windows+8/">Windows 8</category></item><item><title>Database changes in MDT 2012 and MDT 2012 Update 1</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/09/09/database-changes-in-mdt-2012-and-mdt-2012-update-1.aspx</link><pubDate>Sun, 09 Sep 2012 09:21:07 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3519044</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3519044</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/09/09/database-changes-in-mdt-2012-and-mdt-2012-update-1.aspx#comments</comments><description>&lt;p&gt;A few people have asked about the changes made in MDT 2012 and MDT 2012 Update 1 in regards to the MDT database.&amp;#160; There aren’t that many changes, but here they are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;MDT 2012 RTW&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Removed obsolete properties for Lite Touch: SkipAppsOnUpgrade.&lt;/li&gt;      &lt;li&gt;Added new properties for ConfigMgr 2012: SMSTSPreferredAdvertID, SMSTSUDAUsers, SMSTSAssignUsersMode.&lt;/li&gt;      &lt;li&gt;Added one new property for all scenarios, OSDStateStorePath.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;MDT 2012 Update 1&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Removed obsolete properties for SMS 2003: OSDINSTALLSILENT, OSDINSTALLPACKAGE, OSDINSTALLPROGRAM, OSDNEWMACHINENAME, OSDMP, OSDSITECODE.&lt;/li&gt;      &lt;li&gt;Removed obsolete properties for Lite Touch: BuildID, SkipDeploymentType, SkipBuild, SkipBitLockerDetails, SkipDestinationDisk.&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;If you have an existing database, no properties will be removed; the properties marked as “removed” above just don’t get created in new databases.&lt;/p&gt;  &lt;p&gt;If you have an existing database, the properties marked as “added” above will automatically be added to your existing database.&lt;/p&gt;  &lt;p&gt;Any customizations that you might have made to your database should be preserved.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3519044" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/MDT/">MDT</category></item><item><title>Troubleshooting Windows Deployments</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/09/06/troubleshooting-windows-deployments.aspx</link><pubDate>Thu, 06 Sep 2012 04:58:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3518344</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3518344</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/09/06/troubleshooting-windows-deployments.aspx#comments</comments><description>&lt;p&gt;I&amp;rsquo;ve been doing a session at various events over the years called &amp;ldquo;Troubleshooting Windows Deployments&amp;rdquo; or something similar to that.&amp;nbsp; Today is the latest, presenting the session at TechEd New Zealand in Auckland.&amp;nbsp; It&amp;rsquo;s been tweaked some over the years, but the basic flow has always been the same:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Log files of interest&lt;/li&gt;
&lt;li&gt;Examples of problems you might encounter&lt;/li&gt;
&lt;li&gt;Where to turn for help&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Well, I figure it&amp;rsquo;s about time to turn some of this into documentation and start working on some deeper content &amp;ndash; basically, turning the current session into a book.&amp;nbsp; Of course you don&amp;rsquo;t write a book overnight (especially when you have a day job), so I expect this to be an incremental process.&amp;nbsp; But rather than wait until it&amp;rsquo;s done and then publish the whole thing, I&amp;rsquo;d like to take a different approach: publish sections as I manage to work on them.&lt;/p&gt;
&lt;p&gt;So here&amp;rsquo;s my first section, talking about the various log files that may be of interest during the deployment process.&amp;nbsp; (See the attachment below.)&amp;nbsp; With any luck, I&amp;rsquo;ll add to that every now and then until everything in the session is included in the document &amp;ndash; and then keep going&amp;hellip;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3518344" width="1" height="1"&gt;</description><enclosure url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-03-51-83-44/Troubleshooting-Windows-Deployments-2012_2D00_09_2D00_06.pdf" length="455082" type="application/pdf" /><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/MDT/">MDT</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/Windows+7/">Windows 7</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/ConfigMgr/">ConfigMgr</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/USMT/">USMT</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/Windows+8/">Windows 8</category></item><item><title>Revisiting LTI deployment wizard application selection profiles</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/09/04/revisiting-lti-deployment-wizard-application-selection-profiles.aspx</link><pubDate>Tue, 04 Sep 2012 03:36:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3517779</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3517779</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/09/04/revisiting-lti-deployment-wizard-application-selection-profiles.aspx#comments</comments><description>&lt;p&gt;A few years back, I posted a blog at &lt;a title="http://blogs.technet.com/b/mniehaus/archive/2010/06/11/selection-profiles-with-the-lite-touch-deployment-wizard.aspx" href="http://blogs.technet.com/b/mniehaus/archive/2010/06/11/selection-profiles-with-the-lite-touch-deployment-wizard.aspx"&gt;http://blogs.technet.com/b/mniehaus/archive/2010/06/11/selection-profiles-with-the-lite-touch-deployment-wizard.aspx&lt;/a&gt; describing how to modify the Lite Touch wizard so that the deployment wizard shows a different list of applications based on the task sequence that was selected.&amp;nbsp; This worked fine with MDT 2010 Update 1, but there have been a few changes to the scripts and the structure since then.&amp;nbsp; So how do you need to do it now?&amp;nbsp; Well, it hasn&amp;rsquo;t changed much, but just enough to break things.&lt;/p&gt;
&lt;p&gt;First, the script that you need to modify is now DeployWiz_Applications.vbs.&amp;nbsp; This script contains the logic that is specific to the application wizard pane.&amp;nbsp; (In MDT 2012, the wizard was split up so that each pane uses its own wizard files, see &lt;a title="http://blogs.technet.com/b/mniehaus/archive/2012/03/01/3474394.aspx" href="http://blogs.technet.com/b/mniehaus/archive/2012/03/01/3474394.aspx"&gt;http://blogs.technet.com/b/mniehaus/archive/2012/03/01/3474394.aspx&lt;/a&gt; for more details.)&amp;nbsp; The logic that needs to be changed is in the same &amp;ldquo;IsThereAtLeastOneApplicationPresent&amp;rdquo; function, but one of the variable names was changed from &amp;ldquo;oXMLAppList&amp;rdquo; to &amp;ldquo;g_oXMLAppList&amp;rdquo; to reflect that it is a global variable.&amp;nbsp; So now the logic needs to be changed to look like this:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/7776.image_5F00_40C6CB05.png"&gt;&lt;img width="713" height="201" title="image" style="display: inline; background-image: none;" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/8424.image_5F00_thumb_5F00_78990F28.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So the first line is changed from:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;g_oXMLAppList.sSelectionProfile = oEnvironment.Item("WizardSelectionProfile")&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;to:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style="background-color: #ffff00;"&gt;g_&lt;/span&gt;oXMLAppList.sSelectionProfile = oEnvironment.Substitute("For %TaskSequenceID%")&amp;nbsp;&amp;nbsp;' MODIFIED&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;and the second section is added:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;' INSERTED &lt;br /&gt;If dXMLCollection.count = 0 then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background-color: #ffff00;"&gt;g_&lt;/span&gt;oXMLAppList.sSelectionProfile = oEnvironment.Item("WizardSelectionProfile")&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set dXMLCollection = &lt;span style="background-color: #ffff00;"&gt;g_&lt;/span&gt;oXMLAppList.FindItems&amp;nbsp; &lt;br /&gt;End if &lt;br /&gt;' END INSERTED&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The key changes from the original version are highlighted above.&amp;nbsp; So that&amp;rsquo;s all there is to it, now the logic should work fine with MDT 2012 and MDT 2012 Update 1.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3517779" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/MDT/">MDT</category></item><item><title>Automatically configuring the ConfigMgr console for MDT 2012</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/09/04/automatically-configuring-the-configmgr-console-for-mdt-2012.aspx</link><pubDate>Tue, 04 Sep 2012 02:54:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3517776</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3517776</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/09/04/automatically-configuring-the-configmgr-console-for-mdt-2012.aspx#comments</comments><description>&lt;p&gt;As part of the MDT installation process, you need to run the &amp;ldquo;Configure ConfgMgr Integration&amp;rdquo; wizard to add the MDT components into the ConfigMgr console and database.&amp;nbsp; But what if you want to automate that process?&amp;nbsp; Fortunately, that&amp;rsquo;s pretty easy to do using PowerShell, as the integration process really just copies some files around.&lt;/p&gt;
&lt;p&gt;See below for the attached PowerShell script, which performs the following tasks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Locates the MDT installation directory.&lt;/li&gt;
&lt;li&gt;Attempts to find the ConfigMgr 2007 console&amp;rsquo;s installation directory.&amp;nbsp; If found, copy files and folders from the MDT installation directory to that location.&lt;/li&gt;
&lt;li&gt;Attempts to find the ConfigMgr 2012 console&amp;rsquo;s installation directory.&amp;nbsp; If found, copy files and folders from the MDT installation directory to that location.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So there&amp;rsquo;s not much to it.&amp;nbsp; Note that the wizard does a couple of additional tasks that aren&amp;rsquo;t covered by this script:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add the MDT task sequence actions into the ConfigMgr database.&amp;nbsp; This is done by editing a MOF file to specify the site server name and site code, and then compiling that MOF.&amp;nbsp; This process just needs to be done once, generally at the top-level site only.&amp;nbsp; It&amp;rsquo;s easy enough to do this one-time operation manually (using an account that has full permissions to the site server), so no real need to automate it.&lt;/li&gt;
&lt;li&gt;Remove the MDT extensions from an existing ConfigMgr console.&amp;nbsp; This is left as an exercise for the reader:&amp;nbsp; Instead of copying the files to the ConfigMgr console directory, you just need to remove them.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Make sure you run this script from an elevated PowerShell session, and also make sure that PowerShell scripting has been enabled using something like &amp;ldquo;set-executionpolicy bypass&amp;rdquo;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3517776" width="1" height="1"&gt;</description><enclosure url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-03-51-77-76/ConfigureConfigMgrIntegration.ps1" length="4487" type="application/octet-stream" /><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/MDT/">MDT</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/ConfigMgr/">ConfigMgr</category></item><item><title>Speed up MDT task sequences in Configuration Manager</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/09/02/speed-up-mdt-task-sequences-in-configuration-manager.aspx</link><pubDate>Sun, 02 Sep 2012 03:52:27 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3517535</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3517535</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/09/02/speed-up-mdt-task-sequences-in-configuration-manager.aspx#comments</comments><description>&lt;p&gt;Here’s a quick suggestion for speeding up MDT-created task sequences in ConfigMgr 2007 or ConfigMgr 2012:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Find your MDT toolkit files package source folder.&lt;/li&gt;    &lt;li&gt;In the “Scripts” folder inside that folder, find the “ZTISCCM.wsf” script.&lt;/li&gt;    &lt;li&gt;Look for a line like this:&lt;/li&gt;    &lt;blockquote&gt;     &lt;p&gt;wscript.sleep 30000&lt;/p&gt;   &lt;/blockquote&gt;    &lt;li&gt;Remove that line or comment it out, then save the script.&lt;/li&gt;    &lt;li&gt;Update the deployment points for that package.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Not surprisingly, that will remove a 30-second delay from the execution.&amp;#160; (Why is that in there?&amp;#160; Beats me.&amp;#160; I remember who put it in there – it wasn’t me – and I remember discussing it, but the logic behind it escapes me now as it did then.)&lt;/p&gt;  &lt;p&gt;So will this cut 30 seconds out of your deployment?&amp;#160; For refresh deployments, yes; for bare metal deployments, it will cut 60 seconds from the deployment process.&amp;#160; So let’s explore that “Use Toolkit Package” step (the one that runs ZTISCCM.wsf behind the scenes) in more detail.&amp;#160; It has a single purpose:&amp;#160; It takes the contents of the MDT toolkit package (scripts, tools, etc.) and makes a copy of them on the local hard disk, setting various task sequence variables (DeployRoot, ScriptRoot, ToolRoot, etc.) to let us keep track of where they are.&amp;#160; As a result of this, we don’t need to download them for every single step.&amp;#160; But we do typically need to download them more than once.&amp;#160; For example:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;In a bare metal deployment, we “temporarily” format and partition the disk if there were no existing partitions, then download the package (as the download would fail if there were no partitions present).&amp;#160; Later, the disk is repartitioned and reformatted, so that content was lost.&amp;#160; Right after that, the package is downloaded and cached again.&lt;/li&gt;    &lt;li&gt;In a refresh deployment, we initially download the files to the C: drive and set all the variables to point to that location.&amp;#160; But when rebooting into Windows PE or a new OS, the drive letter may change.&amp;#160; As a result, the variables are no longer valid.&amp;#160; We have to download all the files just so that we can run the ZTISCCM.wsf script to find the already-cached local files.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;So you’ll see a variety of “Use Toolkit Package” steps in the task sequence.&amp;#160; In MDT 2010 Update 1, all of these executed.&amp;#160; In MDT 2012, we added some conditions to the “Use Toolkit Package” steps so that they only execute when necessary.&amp;#160; So when are they necessary?&amp;#160; Any time the variables (DeployRoot, ScriptRoot, ToolRoot, etc.) aren’t valid.&amp;#160; So the condition was added to say “If not %ScriptRoot% exists”.&amp;#160; That way, the step is skipped when it isn’t needed.&lt;/p&gt;  &lt;p&gt;In typical bare metal deployments, the step will run two or three times (with the 30-second delay happening twice).&amp;#160; In typical refresh deployments, the step will still run two or three times but in different times in the task sequence (with the 30-second delay only happening once).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3517535" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/MDT/">MDT</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/ConfigMgr/">ConfigMgr</category></item><item><title>Copying $OEM$ files and folders with MDT 2012 Update 1</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/08/24/copying-oem-files-and-folders-with-mdt-2012-update-1.aspx</link><pubDate>Fri, 24 Aug 2012 07:38:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3516060</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3516060</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/08/24/copying-oem-files-and-folders-with-mdt-2012-update-1.aspx#comments</comments><description>&lt;p&gt;I mentioned in the blog post at &lt;a title="http://blogs.technet.com/b/mniehaus/archive/2012/07/21/mdt-2012-update-1-always-applying-images-with-imagex.aspx" href="http://blogs.technet.com/b/mniehaus/archive/2012/07/21/mdt-2012-update-1-always-applying-images-with-imagex.aspx"&gt;http://blogs.technet.com/b/mniehaus/archive/2012/07/21/mdt-2012-update-1-always-applying-images-with-imagex.aspx&lt;/a&gt; that MDT 2012 Update 1 no longer uses SETUP.EXE to install Windows 7 and above.&amp;nbsp; One side effect of this is that $OEM$ folders are no longer going to be copied, since that was something that SETUP.EXE did that the MDT LTIApply.wsf script doesn&amp;rsquo;t handle.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve never been a big fan of using the $OEM$ folder structure, as it&amp;rsquo;s just as easy to add explicit XCOPY steps into the task sequence.&amp;nbsp; But for those of you out there that are using them, you can leverage the attached script (see the attachment link below) in your task sequence to do that.&lt;/p&gt;
&lt;p&gt;To set this up, first copy the script into your deployment share.&amp;nbsp; Then, add a new step to the task sequence right after the &amp;ldquo;Install Operating System&amp;rdquo; step to run the script.&amp;nbsp; It should look like this:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/8004.image_5F00_226686C8.png"&gt;&lt;img width="409" height="365" title="image" style="display: inline; background-image: none;" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/7002.image_5F00_thumb_5F00_7B2C3D92.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now, it will follow the original MDT logic for locating the appropriate $OEM$ folder to use, checking in this order:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;%DeployRoot%\Control\%TaskSequenceID%\$OEM$&lt;/li&gt;
&lt;li&gt;%SourcePath%\$OEM$&lt;/li&gt;
&lt;li&gt;%DeployRoot%\%Architecture%\$OEM$&lt;/li&gt;
&lt;li&gt;%DeployRoot%\$OEM$&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;where %DeployRoot% is the path to the deployment share, %TaskSequenceID% is the ID of the running task sequence (e.g. WIN8), %SourcePath% is the path within the deployment share for the operating system being used, and %Architecture% is either X86 or X64, depending on the boot image being used.&amp;nbsp; (That&amp;rsquo;s a bit of a flaw in the original MDT logic since we now support cross-platform deployments &amp;ndash; it would choose an X86 $OEM$ folder even if you were deploying an X64 operating system.&amp;nbsp; That&amp;rsquo;s probably a good sign that no one is using this option.&amp;nbsp; Most people use the last one.)&lt;/p&gt;
&lt;p&gt;Once it finds a folder, it will look for two folders in that $OEM$ folder and copy them to the appropriate place for the new OS:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;$1 will be copied to the root of the volume that the new OS image was applied to.&lt;/li&gt;
&lt;li&gt;$$ will be copied to the Windows folder on the volume that the new OS image was applied to.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The script doesn&amp;rsquo;t deal with any other folders because it&amp;rsquo;s too messy to do that from within Windows PE &amp;ndash; drive letters aren&amp;rsquo;t the same as what they would end up being in the full OS.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3516060" width="1" height="1"&gt;</description><enclosure url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-03-51-60-60/CopyOEM.zip" length="980" type="application/zip" /><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/MDT/">MDT</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/Windows+7/">Windows 7</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/Windows+8/">Windows 8</category></item><item><title>Displaying the task sequence name</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/08/23/displaying-the-task-sequence-name.aspx</link><pubDate>Thu, 23 Aug 2012 05:29:07 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3515779</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3515779</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/08/23/displaying-the-task-sequence-name.aspx#comments</comments><description>&lt;p&gt;I was talking to some people yesterday at the TechMentor conference in Redmond and about MDT, and somehow during the conversation I got a mental image of the task sequence progress dialog that I couldn’t shake (and that wasn’t really even related to the conversation, go figure).&lt;/p&gt;  &lt;p&gt;A while back, we made some changes to the LiteTouch.wsf script and various other places to enable you to specify a “task sequence package name” that would get displayed in the task sequence progress dialog next to the “Running: “ label:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/5554.image_5F00_4A000573.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/3718.image_5F00_thumb_5F00_09C9EBF9.png" width="404" height="129" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Even before that, you could specify an organization name (“My Org Name” in the picture above).&amp;#160; To specify these, you can configure them in CustomSettings.ini:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;_SMSTSOrgName=My Org Name     &lt;br /&gt;_SMSTSPackageName=My Package Name&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;That’s great if you want to hard-code the values, but what I wanted was a simple way to set the second one (the “Running” value) to the name of the task sequence that is being executed.&amp;#160; That’s a little harder to do, because the task sequence hasn’t yet been selected when CustomSettings.ini is being processed, and you can’t set these read-only variables once the task sequence has started.&lt;/p&gt;  &lt;p&gt;So this is one of those cases where you have to modify one of the MDT scripts, in this case LiteTouch.wsf.&amp;#160; Fortunately, it’s a really trivial change.&amp;#160; Look for this line:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;oEnvironment.Item(&amp;quot;_SMSTSPackageName&amp;quot;) = &amp;quot;Lite Touch Installation&amp;quot;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;And change it like so:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;oEnvironment.Item(&amp;quot;_SMSTSPackageName&amp;quot;) = oEnvironment.Item(&amp;quot;TaskSequenceName&amp;quot;)&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;That line is only executed if _SMSTSPackageName is blank after CustomSettings.ini has been processed, so it won’t have any effect if you manually configured a value in CustomSettings.ini.&amp;#160; &lt;/p&gt;  &lt;p&gt;With that change, you can now see the name of the currently-running task sequence:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/0160.image_5F00_7B8B7308.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/2728.image_5F00_thumb_5F00_22598949.png" width="407" height="177" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;That’s all there is to it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3515779" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/MDT/">MDT</category></item><item><title>One journey ends, another begins</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/08/02/one-journey-ends-another-begins.aspx</link><pubDate>Thu, 02 Aug 2012 03:10:43 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3512132</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>30</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3512132</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/08/02/one-journey-ends-another-begins.aspx#comments</comments><description>&lt;p&gt;A long time ago, I worked in corporate IT.&amp;#160; One day I started looking for new challenges and interviewed with Microsoft for a job in Microsoft Consulting Services, helping customers with their Windows deployment processes.&amp;#160; I distinctly remember talking about all the “challenges” (putting it nicely) with the current tool, the Business Desktop Deployment (BDD) 1.0 solution accelerator, that was being used.&lt;/p&gt;  &lt;p&gt;Through an interesting twist of fate, I was soon working with the BDD team on version 2.0.&amp;#160; That was in 2004.&amp;#160; It turned into a full-time job in 2005 when I moved to Redmond.&amp;#160; Many more releases followed:&amp;#160; BDD 2.5, BDD 2007, Microsoft Deployment (see &lt;a title="http://blogs.technet.com/b/mniehaus/archive/2008/01/22/a-concise-history-of-bdd.aspx" href="http://blogs.technet.com/b/mniehaus/archive/2008/01/22/a-concise-history-of-bdd.aspx"&gt;http://blogs.technet.com/b/mniehaus/archive/2008/01/22/a-concise-history-of-bdd.aspx&lt;/a&gt;), Microsoft Deployment Toolkit 2008, Microsoft Deployment Toolkit 2010, and Microsoft Deployment Toolkit 2012.&amp;#160; And that doesn’t even count the “update” releases that happened in between (or the latest one, MDT 2012 Update 1, due soon).&amp;#160; All total, we’ve managed to have slightly more than one release per year.&amp;#160; &lt;/p&gt;  &lt;p&gt;It’s been a great journey.&amp;#160; But this journey is coming to an end and another is beginning.&amp;#160; After eight years, today is my last day working on the MDT team.&amp;#160; Starting tomorrow, I am joining the Windows organization as a product marketing manager for enterprise Windows deployment.&amp;#160; It’s not huge stretch from what I’ve been doing: helping customers get Windows deployed in their enterprises.&amp;#160; But instead of working on individual tools, I’ll expand my horizons to include the entire Windows deployment process.&lt;/p&gt;  &lt;p&gt;Does that mean I’ll disappear into the innards of Microsoft, never to be seen again?&amp;#160; Not a chance.&amp;#160; I’ll still be blogging (hopefully even more), I’ll still be presenting at events (even on MDT), and I’ll still be involved in the MDT, Windows, MVP, and IT pro communities.&amp;#160; And I expect to hear from you if you are having deployment challenges, roadblocks, or just questions about how to do things.&lt;/p&gt;  &lt;p&gt;Thanks for your support over the years, and I look forward to keeping in touch while on my new journey.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3512132" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/MDT/">MDT</category></item><item><title>MDT 2012 Update 1 is coming soon!</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/08/02/mdt-2012-update-1-is-coming-soon.aspx</link><pubDate>Thu, 02 Aug 2012 02:27:23 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3512128</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3512128</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/08/02/mdt-2012-update-1-is-coming-soon.aspx#comments</comments><description>&lt;p&gt;You probably noticed that Windows 8 and Windows Server 2012 RTM’d today (see &lt;a title="http://windowsteamblog.com/windows/b/bloggingwindows/archive/2012/08/01/windows-8-has-reached-the-rtm-milestone.aspx" href="http://windowsteamblog.com/windows/b/bloggingwindows/archive/2012/08/01/windows-8-has-reached-the-rtm-milestone.aspx"&gt;http://windowsteamblog.com/windows/b/bloggingwindows/archive/2012/08/01/windows-8-has-reached-the-rtm-milestone.aspx&lt;/a&gt; and &lt;a title="http://blogs.technet.com/b/windowsserver/archive/2012/08/01/windows-server-2012-released-to-manufacturing.aspx" href="http://blogs.technet.com/b/windowsserver/archive/2012/08/01/windows-server-2012-released-to-manufacturing.aspx"&gt;http://blogs.technet.com/b/windowsserver/archive/2012/08/01/windows-server-2012-released-to-manufacturing.aspx&lt;/a&gt; for the details).&amp;#160; MDT 2012 Update 1 won’t be too far behind, as this is the version that will fully support Windows 8 and Windows Server 2012 deployment, as well as the new Assessment and Deployment Kit (the replacement for Windows AIK) tools.&lt;/p&gt;  &lt;p&gt;Apart from the usual behind-the-scenes enhancements and bug fixes, as well as a simple upgrade process, we’ve also added new features which I’ve reviewed in this series of blog postings:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a title="MDT 2012 Update 1- Dealing with in-use files when capturing user state" href="http://blogs.technet.com/b/mniehaus/archive/2012/07/01/mdt-2012-update-1-dealing-with-in-use-files-when-capturing-user-state.aspx"&gt;MDT 2012 Update 1- Dealing with in-use files when capturing user state&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a title="MDT 2012 Update 1- Always applying images with ImageX" href="http://blogs.technet.com/b/mniehaus/archive/2012/07/21/mdt-2012-update-1-always-applying-images-with-imagex.aspx"&gt;MDT 2012 Update 1- Always applying images with ImageX&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a title="MDT 2012 Update 1- PowerShell 3.0 support" href="http://blogs.technet.com/b/mniehaus/archive/2012/07/23/mdt-2012-update-1-powershell-3-0-support.aspx"&gt;MDT 2012 Update 1- PowerShell 3.0 support&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a title="MDT 2012 Update 1- ConfigMgr 2012 SP1 CTP support" href="http://blogs.technet.com/b/mniehaus/archive/2012/07/26/mdt-2012-update-1-configmgr-2012-sp1-ctp-support.aspx"&gt;MDT 2012 Update 1- ConfigMgr 2012 SP1 CTP support&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a title="MDT 2012 Update 1- DaRT 8 support" href="http://blogs.technet.com/b/mniehaus/archive/2012/07/27/mdt-2012-update-1-dart-8-support.aspx"&gt;MDT 2012 Update 1- DaRT 8 support&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a title="MDT 2012 Update 1- Merged ZTI and UDI task sequences" href="http://blogs.technet.com/b/mniehaus/archive/2012/07/27/mdt-2012-update-1-merged-zti-and-udi-task-sequences.aspx"&gt;MDT 2012 Update 1- Merged ZTI and UDI task sequences&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a title="MDT 2012 Update 1- Monitoring for ConfigMgr" href="http://blogs.technet.com/b/mniehaus/archive/2012/07/31/mdt-2012-update-1-monitoring-for-configmgr.aspx"&gt;MDT 2012 Update 1- Monitoring for ConfigMgr&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a title="MDT 2012 Update 1- Orchestrator support" href="http://blogs.technet.com/b/mniehaus/archive/2012/07/31/mdt-2012-update-1-orchestrator-support.aspx"&gt;MDT 2012 Update 1- Orchestrator support&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a title="MDT 2012 Update 1- Customer experience improvement program" href="http://blogs.technet.com/b/mniehaus/archive/2012/07/31/mdt-2012-update-1-customer-experience-improvement-program.aspx"&gt;MDT 2012 Update 1- Customer experience improvement program&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a title="MDT 2012 Update 1- UDI “Build Your Own Pages”" href="http://blogs.technet.com/b/mniehaus/archive/2012/08/02/mdt-2012-update-1-udi-build-your-own-pages.aspx"&gt;MDT 2012 Update 1- UDI “Build Your Own Pages”&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I’m sure I’ve missed a few (such as new documentation for the MDT PowerShell cmdlets), but that covers most of them &lt;img class="wlEmoticon wlEmoticon-smile" style="style" alt="Smile" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/3515.wlEmoticon_2D00_smile_5F00_078CB6C6.png" /&gt;&amp;#160; Be watching for the upcoming release announcements.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3512128" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/MDT/">MDT</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/Windows+7/">Windows 7</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/ConfigMgr/">ConfigMgr</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/Windows+8/">Windows 8</category></item><item><title>MDT 2012 Update 1: UDI “Build Your Own Pages”</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/08/02/mdt-2012-update-1-udi-build-your-own-pages.aspx</link><pubDate>Thu, 02 Aug 2012 02:07:46 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3512126</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3512126</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/08/02/mdt-2012-update-1-udi-build-your-own-pages.aspx#comments</comments><description>&lt;p&gt;One of the challenges with previous versions of the UDI wizard was extensibility.&amp;#160; With MDT 2010 Update 1, there was no way to add a new page.&amp;#160; With MDT 2012, you could do this by writing C++ and C# code, which at least made it doable, but beyond the capabilities of most organizations.&amp;#160; Now with MDT 2012 Update 1, you can build your own pages without writing any code, directly from the UDI Designer.&lt;/p&gt;  &lt;p&gt;Here are the basics for doing that:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Launch the UDI Designer and open an existing wizard configuration file, e.g. UDIWizard_config.xml.&lt;/li&gt;    &lt;li&gt;Click the “Add Page” button:     &lt;br /&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/4812.image_5F00_62A20223.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/5483.image_5F00_thumb_5F00_50593B61.png" width="350" height="80" /&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;In the dialog, select “Build Your Own Page” then provide a page name (only used in the designer) and a display name (shown in the wizard’s navigation pane):     &lt;br /&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/2844.image_5F00_0C18D415.png"&gt;&lt;img title="image" style="margin: 0px; display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/1856.image_5F00_thumb_5F00_1DF567E2.png" width="237" height="244" /&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Find the new page in the Page Library on the left side of the designer window.&amp;#160; Double-click on the page to open it in the page editor:     &lt;br /&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/2450.image_5F00_2BC7ADDD.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/4186.image_5F00_thumb_5F00_60680A18.png" width="570" height="306" /&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Add whatever controls you want by dragging and dropping them onto the design surface, changing the properties on the Layout and Settings tabs as needed:     &lt;br /&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/6237.image_5F00_2B5B7AE8.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/5460.image_5F00_thumb_5F00_74ED5996.png" width="561" height="299" /&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Click the “Flow” tab, then drag the new page from the page library to the right location in the flow:     &lt;br /&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/8780.image_5F00_1BBB6FD7.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/4503.image_5F00_thumb_5F00_344B0D27.png" width="414" height="361" /&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Finally, you can preview your changes by clicking the “Preview” button:     &lt;br /&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/8306.image_5F00_36F3C8D8.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/3581.image_5F00_thumb_5F00_76BDAF5D.png" width="330" height="248" /&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;When you are happy with the look and feel, save the new configuration, then update the MDT toolkit files package to make that new file available to the task sequence.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;That’s all there is to it.&amp;#160; &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3512126" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/MDT/">MDT</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/ConfigMgr/">ConfigMgr</category></item><item><title>MDT 2012 Update 1: Customer experience improvement program</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/07/31/mdt-2012-update-1-customer-experience-improvement-program.aspx</link><pubDate>Tue, 31 Jul 2012 21:47:03 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3511825</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3511825</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/07/31/mdt-2012-update-1-customer-experience-improvement-program.aspx#comments</comments><description>&lt;p&gt;If you have installed MDT 2012 Update 1 Beta 1, you might have noticed a new wizard page in the MSI installer:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/0638.image_5F00_09BBB35E.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/5432.image_5F00_thumb_5F00_029C76E6.png" width="442" height="342" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;When enabled, this option enables us to collect more information about how MDT is being used, which we can leverage to improve MDT in the future.&amp;#160; No personally-identifiable data is collected; you can read through the full details in our privacy statement that has been posted to TechNet at &lt;a href="http://go.microsoft.com/fwlink/?LinkID=255311"&gt;http://go.microsoft.com/fwlink/?LinkID=255311&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;In beta releases, we are allowed to have this set to “Yes” by default, although you can choose not to join during the installation process if you wish.&amp;#160; In the final release, “I don’t want to” will be the default.&amp;#160; Please help us out and change it back to “Yes” so we can get as much information as possible about how MDT is being used.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3511825" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/MDT/">MDT</category></item><item><title>MDT 2012 Update 1: Orchestrator support</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/07/31/mdt-2012-update-1-orchestrator-support.aspx</link><pubDate>Tue, 31 Jul 2012 21:20:38 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3511821</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3511821</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/07/31/mdt-2012-update-1-orchestrator-support.aspx#comments</comments><description>&lt;p&gt;Another new feature in MDT 2012 Update 1 is the ability to call System Center 2012 Orchestrator runbooks from within a task sequence.&amp;#160; This works with Lite Touch deployments, ConfigMgr 2007, and ConfigMgr 2012.&amp;#160; Using this capability, you can tie external processes into your task sequences, without needing to employ developers to create web services or stored procedures.&amp;#160; So this is yet another option for making your deployments more dynamic.&lt;/p&gt;  &lt;p&gt;Unlike the setup in place for web services and stored procedures, the Orchestrator support is not tied to CustomSettings.ini.&amp;#160; Instead, it is designed to run at any point in the task sequence itself by adding a new “Execute Orchestrator Runbook” requests wherever you want them:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/7774.image_5F00_4320AD62.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/2577.image_5F00_thumb_5F00_77C1099D.png" width="430" height="324" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In each of those steps, you specify the name of the Orchestrator server, then browse for an available runbook:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/1004.image_5F00_378AF023.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/6675.image_5F00_thumb_5F00_25422961.png" width="432" height="325" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If that runbook accepts input parameters, you can pass those from the task sequence either explicitly (type in the value you want, using variable substitution if necessary) or implicitly (if the runbook parameter name matches the name of a task sequence variable, the value of that variable will be passed automatically).&lt;/p&gt;  &lt;p&gt;You can also specify to wait for the runbook to complete before allowing the task sequence to continue.&amp;#160; That makes the process synchronous, and also provides a way for the runbook to return values back to the task sequence:&amp;#160; Any return parameters from the runbook execution job will be set as task sequence variables so that subsequent task sequence steps can use those values.&lt;/p&gt;  &lt;p&gt;You can include as many of these “Execute Orchestrator Runbook” steps in the task sequence as you would like, but keep in mind the potential time this may add to the deployment process, as well as the load it may place on your Orchestrator server if you deploy hundreds of thousands of machines at the same time.&lt;/p&gt;  &lt;p&gt;The default MDT task sequences won’t contain any “Execute Orchestrator Runbook” steps, so this is provided entirely for customization.&amp;#160; Be creative &lt;img class="wlEmoticon wlEmoticon-smile" style="style" alt="Smile" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/6607.wlEmoticon_2D00_smile_5F00_650C0FE6.png" /&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Some ideas for runbooks that you might want to try:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Moving a computer to a new OU.&lt;/li&gt;    &lt;li&gt;Generating or retrieving a computer name.&lt;/li&gt;    &lt;li&gt;E-mailing when a deployment fails.&lt;/li&gt;    &lt;li&gt;Creating a trouble ticket/service request when a deployment fails.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;One of these days I’ll get around to blogging about some samples…&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3511821" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/MDT/">MDT</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/ConfigMgr/">ConfigMgr</category></item><item><title>MDT 2012 Update 1: Monitoring for ConfigMgr</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/07/31/mdt-2012-update-1-monitoring-for-configmgr.aspx</link><pubDate>Tue, 31 Jul 2012 20:54:23 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3511818</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3511818</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/07/31/mdt-2012-update-1-monitoring-for-configmgr.aspx#comments</comments><description>&lt;p&gt;In MDT 2012, we added support for DaRT integration into an MDT Lite Touch boot image, as well as a new monitoring feature that integrated with DaRT to make remote control into Windows PE easy.&amp;#160; See &lt;a title="http://blogs.technet.com/b/mniehaus/archive/2011/11/28/mdt-2012-new-feature-dart-integration.aspx" href="http://blogs.technet.com/b/mniehaus/archive/2011/11/28/mdt-2012-new-feature-dart-integration.aspx"&gt;http://blogs.technet.com/b/mniehaus/archive/2011/11/28/mdt-2012-new-feature-dart-integration.aspx&lt;/a&gt; and &lt;a title="http://blogs.technet.com/b/mniehaus/archive/2012/07/27/mdt-2012-update-1-dart-8-support.aspx" href="http://blogs.technet.com/b/mniehaus/archive/2012/07/27/mdt-2012-update-1-dart-8-support.aspx"&gt;http://blogs.technet.com/b/mniehaus/archive/2012/07/27/mdt-2012-update-1-dart-8-support.aspx&lt;/a&gt; for more information.&lt;/p&gt;  &lt;p&gt;In MDT 2012 Update 1, we now can use the MDT monitoring feature with ConfigMgr deployments, which also means we can simplify the process of using DaRT remote control with ConfigMgr.&amp;#160; DaRT isn’t required to enable monitoring, but without it obviously you won’t have the DaRT remote control integration.&lt;/p&gt;  &lt;p&gt;Here are the steps that you need to go through to implement this:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;In Deployment Workbench, create a deployment share (if you don’t already have one), then in the properties enable monitoring:     &lt;br /&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/1754.image_5F00_4F52FFAF.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/2843.image_5F00_thumb_5F00_3D0A38ED.png" width="395" height="297" /&gt;&lt;/a&gt;      &lt;br /&gt;The ConfigMgr clients will eventually talk to this monitoring service, and you can see their progress by looking at the “Monitoring” node.&lt;/li&gt;    &lt;li&gt;(OPTIONAL)&amp;#160; Get the necessary DaRT files where MDT can find them.&amp;#160; If using DaRT 7, copy the appropriate “tools.cab” files into C:\Program Files\Microsoft Deployment Toolkit\Templates\Distribution\&amp;lt;Platform&amp;gt;.&amp;#160; If using DaRT 8, copy the “toolsx86.cab” or “toolsx64.cab” to the correct place.&amp;#160; &lt;/li&gt;    &lt;li&gt;(OPTIONAL)&amp;#160; Create a new boot image using one of the MDT wizards integrated into the ConfigMgr console (to create just a boot image or to create a new task sequence with a new boot image).&amp;#160; On the “optional components” wizard screen, select “DaRT” from the bottom of the list:     &lt;br /&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/3252.image_5F00_4EE6CCBA.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/0513.image_5F00_thumb_5F00_23A235B3.png" width="393" height="296" /&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Modify the CustomSettings.ini in the Settings package to add a new line to tell the clients to report status to the monitoring service:     &lt;br /&gt;&lt;font face="Courier New"&gt;EventService=http://server:9800&lt;/font&gt;&lt;/li&gt;    &lt;li&gt;Deploy.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;There are some limitations with this implementation worth pointing out:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The monitoring service will only see status reports from the MDT steps in the ConfigMgr task sequence.&amp;#160; For the built-in ConfigMgr steps (e.g. “Apply Operating System”), there won’t be any updates.&amp;#160; So as a result, the percent complete will bounce around a bit and the current step won’t be 100% accurate.&lt;/li&gt;    &lt;li&gt;The monitoring implementation hasn’t been tested with huge numbers of clients being deployed at once.&amp;#160; If there are any errors (due to timeouts, full databases, etc.) it won’t affect the deployment process, but pay attention to the BDD.LOG to see if you are running into any errors.&lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3511818" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/MDT/">MDT</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/ConfigMgr/">ConfigMgr</category></item><item><title>MDT 2012 Update 1: Merged ZTI and UDI task sequences</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/07/27/mdt-2012-update-1-merged-zti-and-udi-task-sequences.aspx</link><pubDate>Fri, 27 Jul 2012 17:06:22 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3511256</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3511256</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/07/27/mdt-2012-update-1-merged-zti-and-udi-task-sequences.aspx#comments</comments><description>&lt;p&gt;Since we released MDT 2012 Update 1 Beta 1 a few weeks ago, I’ve received a few panicked e-mail messages from people asking “what happened to the UDI task sequence, it’s gone.”&amp;#160; Don’t worry, it’s still there.&amp;#160; What we have done in MDT 2012 Update 1 is merge the ZTI and UDI task sequence together into a single task sequence.&amp;#160; There are a couple of reasons for doing this:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You can dynamically choose whether or not to display the UDI wizard.&amp;#160; This gives you the same capability as you have with Lite Touch, and in fact uses the same variable, SkipWizard.&amp;#160; So if you specify SkipWizard=YES, it’s a ZTI deployment; if you specify SkipWizard=NO, it’s a UDI deployment.&lt;/li&gt;    &lt;li&gt;You don’t have to choose what functionality you want.&amp;#160; By merging the task sequence templates, we get the best capabilities of both.&amp;#160; That means that ZTI deployments now can do offline user state migration just like UDI deployments can.&amp;#160; It also means that we display the same background progress display in ZTI deployments as you are used to seeing in UDI.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Longer term, I am hopeful that we can stop making any distinctions between ZTI and UDI: they are just slight variations on the same ConfigMgr client OS deployment scenario.&amp;#160; Those same variations exist in Lite Touch as well, but that doesn’t mean “Lite Touch with a wizard” and “Lite Touch without a wizard” are two separate scenarios.&lt;/p&gt;  &lt;p&gt;From an implementation perspective, we wanted to make sure that we gave you a simple way of choosing a default for SkipWizard.&amp;#160; This is done as part of the “Create MDT Task Sequence” wizard.&amp;#160; After choosing the “Client Task Sequence” template, you will see a new wizard pane:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/1856.image_5F00_3F18F0DA.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/6622.image_5F00_thumb_5F00_0C48EA66.png" width="693" height="521" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The choice that you make ends up configuring a specific step in the resulting task sequence:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/0842.image_5F00_58A07E07.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-52-09-metablogapi/1263.image_5F00_thumb_5F00_71301B57.png" width="692" height="520" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;So if you want to dynamically choose “wizard or not”, you can remove this step and instead set the value through CustomSettings.ini.&lt;/p&gt;  &lt;p&gt;See my previous posting at &lt;a title="http://blogs.technet.com/b/mniehaus/archive/2012/07/01/mdt-2012-update-1-dealing-with-in-use-files-when-capturing-user-state.aspx" href="http://blogs.technet.com/b/mniehaus/archive/2012/07/01/mdt-2012-update-1-dealing-with-in-use-files-when-capturing-user-state.aspx"&gt;http://blogs.technet.com/b/mniehaus/archive/2012/07/01/mdt-2012-update-1-dealing-with-in-use-files-when-capturing-user-state.aspx&lt;/a&gt; for details on how to leverage offline user state captures for ZTI deployments.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3511256" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/MDT/">MDT</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/ConfigMgr/">ConfigMgr</category></item><item><title>MDT 2012 Update 1: DaRT 8 support</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/07/27/mdt-2012-update-1-dart-8-support.aspx</link><pubDate>Thu, 26 Jul 2012 23:50:57 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3511127</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>10</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3511127</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/07/27/mdt-2012-update-1-dart-8-support.aspx#comments</comments><description>&lt;p&gt;In MDT 2012 RTW that released back in April, we included support for DaRT 7, making it easy to add the DaRT components to Lite Touch boot images.&amp;#160; See &lt;a title="http://blogs.technet.com/b/mniehaus/archive/2011/11/28/mdt-2012-new-feature-dart-integration.aspx" href="http://blogs.technet.com/b/mniehaus/archive/2011/11/28/mdt-2012-new-feature-dart-integration.aspx"&gt;http://blogs.technet.com/b/mniehaus/archive/2011/11/28/mdt-2012-new-feature-dart-integration.aspx&lt;/a&gt; for more details on that.&lt;/p&gt;  &lt;p&gt;With MDT 2012 Update 1 Beta 1, we added support for DaRT 8 Beta, while leaving support for DaRT 7 too.&amp;#160; So if you are using Windows AIK, you would use DaRT 7; when you are using Windows ADK, you would use DaRT 8.&amp;#160; (In general, DaRT releases are OS-specific, so DaRT 8 is for Windows 8 and DaRT 7 is for Windows 7.)&lt;/p&gt;  &lt;p&gt;The basic functionality with DaRT 8 is the same as with DaRT 7: we add all the tools to the boot image, and we automatically run the remote agent so that you can make remote connections into Windows PE using the remote viewer (which is integrated into the MDT monitoring solution).&amp;#160; Additional functionality in MDT 2012 Update 1:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;We can automatically locate the DaRT 8 files when DaRT 8 is installed on Windows 8 and copy the files to the right place.&amp;#160; (DaRT 8 can only be installed on Windows 8.&amp;#160; If you aren’t using Windows 8, then you would still need to get the CAB files manually.&amp;#160; But at least you can get both CAB files at once, as the MSI contains both “toolsx86.cab” and “toolsx64.cab”.&amp;#160; Drop those into the tools folder on the deployment share and you’re set.&amp;#160; See the MDT documentation for more details.)&lt;/li&gt;    &lt;li&gt;We have additional integration with ConfigMgr.&amp;#160; We can add the DaRT 8 (or DaRT 7) files when creating a boot image (although you might need to copy the CAB files into C:\Program Files\Microsoft Deployment Toolkit\Templates\Distribution\Tools, as mentioned in the previous blog referenced above).&amp;#160; Also, the “Use Toolkit Package” step will automatically start the DaRT remote agent when it finds it in the boot image.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;See &lt;a title="http://windowsteamblog.com/windows/b/springboard/archive/2012/03/28/microsoft-dart-8-beta-q-amp-a.aspx" href="http://windowsteamblog.com/windows/b/springboard/archive/2012/03/28/microsoft-dart-8-beta-q-amp-a.aspx"&gt;http://windowsteamblog.com/windows/b/springboard/archive/2012/03/28/microsoft-dart-8-beta-q-amp-a.aspx&lt;/a&gt; for more information on DaRT 8.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3511127" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/MDT/">MDT</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/Windows+7/">Windows 7</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/ConfigMgr/">ConfigMgr</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/Windows+8/">Windows 8</category></item><item><title>MDT 2012 Update 1: ConfigMgr 2012 SP1 CTP support</title><link>http://blogs.technet.com/b/mniehaus/archive/2012/07/26/mdt-2012-update-1-configmgr-2012-sp1-ctp-support.aspx</link><pubDate>Thu, 26 Jul 2012 22:34:10 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3511119</guid><dc:creator>Michael Niehaus</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mniehaus/rsscomments.aspx?WeblogPostID=3511119</wfw:commentRss><comments>http://blogs.technet.com/b/mniehaus/archive/2012/07/26/mdt-2012-update-1-configmgr-2012-sp1-ctp-support.aspx#comments</comments><description>&lt;p&gt;The MDT 2012 Update 1 release is primarily intended to add support for deploying Windows 8 and Windows Server 2012.&amp;#160; For ConfigMgr 2012, it’s the SP1 release that adds similar support.&amp;#160; So if you want to start testing out the Windows 8 deployment process, you’ll want to be using MDT 2012 Update 1 (beta at this point, release version in the coming weeks) with ConfigMgr 2012 SP1 CTP.&amp;#160; See John Vintzel’s posting at &lt;a title="http://blogs.technet.com/b/inside_osd/archive/2012/07/20/sp1-setup-changes-system-center-2012-configuration-manager.aspx" href="http://blogs.technet.com/b/inside_osd/archive/2012/07/20/sp1-setup-changes-system-center-2012-configuration-manager.aspx"&gt;http://blogs.technet.com/b/inside_osd/archive/2012/07/20/sp1-setup-changes-system-center-2012-configuration-manager.aspx&lt;/a&gt; that talks about some of the changes in ConfigMgr 2012 SP1 related to OSD.&lt;/p&gt;  &lt;p&gt;The specific changes that we made in the MDT 2012 Update 1 task sequence templates to support the new functionality in ConfigMgr 2012 SP1 are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;New steps for formatting and partitioning UEFI disks.&amp;#160; ConfigMgr 2012 SP1 CTP now supports UEFI deployment, which brings some specific requirements around the disk structure: you must use GPT disks, you should create four partitions, etc.&amp;#160; So we’ve added UEFI-specific steps to the MDT task sequence templates that will automatically run when booting into UEFI, creating the necessary structure.&amp;#160; These are executed conditionally, based on whether UEFI is present or not.&lt;/li&gt;    &lt;li&gt;BitLocker pre-provisioning.&amp;#160; We’ve added a step that uses the new ConfigMgr “Pre-Provision BitLocker” task sequence action to enable BitLocker while still in Windows PE, telling Windows to only encrypt used space.&amp;#160; This greatly improves the time required to completely deploy a new OS with BitLocker enabled – now the disk can be encrypted while empty (only encrypting used space, but there is little at that point in the process) and then protectors (TPM, PIN, etc.) can be added later.&lt;/li&gt;    &lt;li&gt;Installation of Windows 8 applications (“Metro” apps) via UDI and the application catalog web service.&amp;#160; (More on that in a future blog posting.)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;So try out the combination of MDT 2012 Update 1 Beta 1 (available on &lt;a href="http://connect.microsoft.com"&gt;http://connect.microsoft.com&lt;/a&gt;), ConfigMgr 2012 SP1 CTP (available from &lt;a title="http://www.microsoft.com/en-us/download/details.aspx?id=30133" href="http://www.microsoft.com/en-us/download/details.aspx?id=30133"&gt;http://www.microsoft.com/en-us/download/details.aspx?id=30133&lt;/a&gt;), and Windows 8 Release Preview (&lt;a title="http://windows.microsoft.com/en-US/windows-8/release-preview" href="http://windows.microsoft.com/en-US/windows-8/release-preview"&gt;http://windows.microsoft.com/en-US/windows-8/release-preview&lt;/a&gt;) today.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3511119" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/MDT/">MDT</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/ConfigMgr/">ConfigMgr</category><category domain="http://blogs.technet.com/b/mniehaus/archive/tags/Windows+8/">Windows 8</category></item></channel></rss>