<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>The Deployment Guys</title><link>http://blogs.technet.com/b/deploymentguys/</link><description>Helping to deploy your world automagically...</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>PXE Deployment with Surface Pro</title><link>http://blogs.technet.com/b/deploymentguys/archive/2013/05/16/pxe-deployment-with-surface-pro.aspx</link><pubDate>Thu, 16 May 2013 20:44:43 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3573229</guid><dc:creator>Ben Hunter</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/deploymentguys/rsscomments.aspx?WeblogPostID=3573229</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/deploymentguys/commentapi.aspx?WeblogPostID=3573229</wfw:comment><comments>http://blogs.technet.com/b/deploymentguys/archive/2013/05/16/pxe-deployment-with-surface-pro.aspx#comments</comments><description>&lt;p&gt;PXE support has been added to Surface Pro as part of the May firmware update.&amp;#160; This means that as long as you have the Surface Pro Ethernet Adapter and installed the firmware update you can now perform PXE based deployments to Surface Pro. For detailed guidance on updating firmware on Surface pro please refer to my previous blog post - &lt;a title="http://blogs.technet.com/b/deploymentguys/archive/2013/05/14/deploying-drivers-and-firmware-to-surface-pro.aspx" href="http://blogs.technet.com/b/deploymentguys/archive/2013/05/14/deploying-drivers-and-firmware-to-surface-pro.aspx"&gt;http://blogs.technet.com/b/deploymentguys/archive/2013/05/14/deploying-drivers-and-firmware-to-surface-pro.aspx&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;To perform a deployment from your existing Windows Server 2008 R2 or Windows Server 2012 WDS server you need to do the following:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Attach the Surface Pro Ethernet Adapter to the Surface Pro.&lt;/li&gt;    &lt;li&gt;Press and hold the &lt;b&gt;volume down button&lt;/b&gt; and then press the &lt;b&gt;power button&lt;/b&gt;, continue to hold the volume down button until the Surface starts to boot from the USB key.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;em&gt;A dialog box will appear that states that it is “Checking Media Presence……”. Then it will “Start PXE over IPv4”.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 3. When prompted press &lt;b&gt;Enter &lt;/b&gt;for &lt;em&gt;network boot service.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;The Surface Pro should now connect to your PXE server and allow you to perform a normal deployment.&lt;/p&gt;  &lt;p&gt;For further details on Surface Pro deployment please refer to the &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=38826"&gt;Surface Pro - Enterprise Deployment Quick Start Guide&lt;/a&gt; within the Surface Pro firmware and driver pack that I worked with the Surface Team create.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;This post was contributed by &lt;strong&gt;Ben Hunter&lt;/strong&gt;, a Solution Architect with Microsoft Consulting Services.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Disclaimer: The information on this site is provided &amp;quot;AS IS&amp;quot; with no warranties, confers no rights, and is not supported by the authors or Microsoft Corporation. Use of included script samples are subject to the terms specified in the &lt;/strong&gt;&lt;a href="http://www.microsoft.com/info/cpyright.mspx"&gt;&lt;strong&gt;Terms of Use&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3573229" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/deploymentguys/archive/tags/Windows+8/">Windows 8</category><category domain="http://blogs.technet.com/b/deploymentguys/archive/tags/Surface+Pro/">Surface Pro</category><category domain="http://blogs.technet.com/b/deploymentguys/archive/tags/PXE/">PXE</category><category domain="http://blogs.technet.com/b/deploymentguys/archive/tags/firmware/">firmware</category></item><item><title>Deploying Drivers and Firmware to Surface Pro</title><link>http://blogs.technet.com/b/deploymentguys/archive/2013/05/16/deploying-drivers-and-firmware-to-surface-pro.aspx</link><pubDate>Thu, 16 May 2013 20:44:33 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3573228</guid><dc:creator>Ben Hunter</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/deploymentguys/rsscomments.aspx?WeblogPostID=3573228</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/deploymentguys/commentapi.aspx?WeblogPostID=3573228</wfw:comment><comments>http://blogs.technet.com/b/deploymentguys/archive/2013/05/16/deploying-drivers-and-firmware-to-surface-pro.aspx#comments</comments><description>&lt;p&gt;In the last month the Surface Pro team have started releasing &lt;a href="http://go.microsoft.com/fwlink/?LinkID=301483&amp;amp;clcid=0x409"&gt;driver and firmware pack&lt;/a&gt;s that include all on the drivers and firmware required for Surface Pro. This pack is a simple zip file that contains all of the drivers as INF files that can be installed with out requiring an executable, which for those of you that have followed my previous posts will know is the way I like to see drivers provided.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Firmware Deployment&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Perhaps the coolest thing about this pack is the fact that it includes firmware that is delivered in the form of a driver package. This is possible due to a UEFI feature called capsule packages. These capsule packages can be installed several ways: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Published via Windows Update &lt;/li&gt;    &lt;li&gt;Injected into an offline Windows image&lt;/li&gt;    &lt;li&gt;Installed into Windows 8 online &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; - They cannot be installed via Windows Software Update Service (WSUS).&lt;/p&gt;  &lt;p&gt;The firmware is exposed to the machine as a device under the firmware node in device manager.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/0572.image_5F00_4CFD3150.png"&gt;&lt;img title="image" style="display: inline;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/0363.image_5F00_thumb_5F00_019D8D8C.png" width="283" height="141" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;To update the firmware manually simply install the driver package on the machine then Windows will then seamlessly take care of the update process for you, ensuring that the correct firmware is applied. Once installed a flag is set for the loader and &lt;u&gt;on restart&lt;/u&gt; all available firmware updates are applied. During the boot process a dialog will appear that states “installing system updates”. If you are deploying the drivers as part of an OS deployment, perhaps with the Microsoft Deployment Toolkit or System Center Configuration Manager 2012 you simply add these firmware drivers to your existing driver deployment methodology and the Windows will handle handle the update process for you.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Driver Deployment&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Deploying these drivers as part of your existing OS deployment process is simple, however what happens if you want to update drivers on a Surface Pro that has already been deployed. This is definitely something you will want to do as the Surface team has already delivered a number of significant performance improvements as driver and firmware updates. One option would be to manually right clicking on the device in device manager, and select the appropriate driver to install. However this is a laborious process. It is possible to automate this process using a PowerShell script that calls the &lt;a href="http://msdn.microsoft.com/en-us/library/ff550419.aspx"&gt;PnPUtil&lt;/a&gt; utility.&lt;/p&gt;  &lt;p&gt;The following script iterates recursively through the pack and installs all of the drivers that it finds:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;$ScriptPath = Split-Path -parent $MyInvocation.MyCommand.Definition &lt;/p&gt;    &lt;p&gt;$files = get-childitem -path $Scriptpath -recurse -filter *.inf &lt;/p&gt;    &lt;p&gt;foreach ($file in $files) &lt;/p&gt;    &lt;p&gt;{ &lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; Write-host &amp;quot;Injecting driver $file&amp;quot; &lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; pnputil -i -a $file.FullName &lt;/p&gt;    &lt;p&gt;} &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;To use this script extract the driver pack and place the script in top level folder of the extracted zip file. Then execute the script, it will install all drivers (including firmware). This could also be packaged into a System Center Configuration Manager package and deployed to existing machines.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/2022.image_5F00_3A483799.png"&gt;&lt;img title="image" style="display: inline;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/8321.image_5F00_thumb_5F00_1A2D2ADC.png" width="257" height="154" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;For further details on Surface Pro deployment please refer to the &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=38826"&gt;Surface Pro - Enterprise Deployment Quick Start Guide&lt;/a&gt; within the Surface Pro firmware and driver pack that I worked with the Surface Team create.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;This post was contributed by &lt;strong&gt;Ben Hunter&lt;/strong&gt;, a Solution Architect with Microsoft Consulting Services.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Disclaimer: The information on this site is provided &amp;quot;AS IS&amp;quot; with no warranties, confers no rights, and is not supported by the authors or Microsoft Corporation. Use of included script samples are subject to the terms specified in the &lt;/strong&gt;&lt;a href="http://www.microsoft.com/info/cpyright.mspx"&gt;&lt;strong&gt;Terms of Use&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3573228" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/deploymentguys/archive/tags/Windows+8/">Windows 8</category><category domain="http://blogs.technet.com/b/deploymentguys/archive/tags/Surface+Pro/">Surface Pro</category><category domain="http://blogs.technet.com/b/deploymentguys/archive/tags/firmware/">firmware</category><category domain="http://blogs.technet.com/b/deploymentguys/archive/tags/Drivers/">Drivers</category></item><item><title>Supporting Windows 8 Mail App in the Enterprise</title><link>http://blogs.technet.com/b/deploymentguys/archive/2013/05/14/supporting-windows-8-mail-app-in-the-enterprise.aspx</link><pubDate>Tue, 14 May 2013 21:21:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3571960</guid><dc:creator>lutz seidemann</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/deploymentguys/rsscomments.aspx?WeblogPostID=3571960</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/deploymentguys/commentapi.aspx?WeblogPostID=3571960</wfw:comment><comments>http://blogs.technet.com/b/deploymentguys/archive/2013/05/14/supporting-windows-8-mail-app-in-the-enterprise.aspx#comments</comments><description>&lt;p&gt;In a recent project we faced an interesting problems using the Windows 8 Mail App.&lt;/p&gt;
&lt;p&gt;Windows 8 include a built-in email app named Mail (also referred to as Windows 8 Mail or the Windows 8 Mail app). We used a Standard User Account without any local Admin privileges, logged on to the Domain and tried to add our Exchange information to the mail app. After adding our Account information an error is popping up &amp;ldquo;&lt;em&gt;To sync &lt;a href="mailto:username@yourdomainname.com"&gt;username@yourdomainname.com&lt;/a&gt;, you will need to change this PC&amp;rsquo;s settings to match the mail server&amp;rsquo;s security settings&lt;/em&gt;.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/2045.clip_5F00_image0025_5F00_6F1A37FF.jpg"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="clip_image002[5]" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/7652.clip_5F00_image0025_5F00_thumb_5F00_71DFECF2.jpg" alt="clip_image002[5]" width="304" height="46" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;After some investigation about this error we found out there are few settings Enterprises need to prepare before using the mail app in an environment with logged down user rights.&lt;/p&gt;
&lt;p&gt;The Windows 8 Mail to allows users using ActiveSync (EAS) for Exchange synchronization. If you add your account to the Mail application your Exchange policies will pushed down and the stronger policy will take presence (&lt;a href="http://blogs.technet.com/b/exchange/archive/2012/11/26/supporting-windows-8-mail-in-your-organization.aspx"&gt;http://blogs.technet.com/b/exchange/archive/2012/11/26/supporting-windows-8-mail-in-your-organization.aspx&lt;/a&gt;). If your EAS is stronger than your Domain or local policy the Windows Policy Engine requires admin access to apply policy changes, since non-admins are not allowed to make changes to computer/account configurations, you will get the issue documented above.&lt;/p&gt;
&lt;p&gt;In a next step you have to compare the policy that is applied on the device(s) against what is being requested by the Exchange server.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Control&amp;nbsp; the corresponding Group Policy (Computer Configuration / Windows Settings / Security Settings / Local Policies / Security Options /) to have the same settings&amp;nbsp; as you have configured in Exchange. If both are identical you can add your Exchange Account without getting any popup.&lt;/p&gt;
&lt;p&gt;AllowSimpleDevicePassword&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;em&gt;Windows Policy Engine would try to apply this policy,&lt;/em&gt; &lt;br /&gt;&lt;em&gt;MaxInactivityTimeDeviceLock&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Windows Policy Engine would try to apply this policy, &lt;br /&gt;MaxDevicePasswordFailedAttempts&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Windows Policy Engine would try to apply this policy,&lt;/em&gt; &lt;br /&gt;DevicePasswordExpiration&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;em&gt;Windows Policy Engine would try to apply this policy,&lt;/em&gt; &lt;br /&gt;&lt;em&gt;DevicePasswordHistory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Windows Policy Engine would try to apply this policy, &lt;br /&gt;RequireDeviceEncryption&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Windows Policy Engine would try to apply this policy, &lt;/em&gt; &lt;br /&gt;MinDevicePasswordComplexCharacters&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : domain accounts, password length and complex characters are not governed by EAS, &lt;br /&gt;MinDevicePasswordLength&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : domain accounts, password length and complex characters are not governed by EAS,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This post was contributed by &lt;/em&gt;&lt;strong&gt;&lt;em&gt;Lutz Seidemann&lt;/em&gt;&lt;/strong&gt;&lt;em&gt;, a Solution Architect with Microsoft Consulting Services.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The information on this site is provided "AS IS" with no warranties, confers no rights, and is not supported by the authors or Microsoft Corporation. Use of included script samples are subject to the terms specified in the &lt;a href="http://www.microsoft.com/about/legal/en/us/Copyright/Default.aspx"&gt;Terms of Use&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3571960" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/deploymentguys/archive/tags/Windows+8/">Windows 8</category></item><item><title>Windows 8 – Supporting proxy services with Static Configurations, Web Hosted PAC files and Domain Policy Configured Proxy</title><link>http://blogs.technet.com/b/deploymentguys/archive/2013/05/08/windows-8-supporting-proxy-services-with-static-configurations-web-hosted-pac-files-and-domain-policy-configured-proxy.aspx</link><pubDate>Wed, 08 May 2013 19:32:07 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3571464</guid><dc:creator>Scott Culbertson</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/deploymentguys/rsscomments.aspx?WeblogPostID=3571464</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/deploymentguys/commentapi.aspx?WeblogPostID=3571464</wfw:comment><comments>http://blogs.technet.com/b/deploymentguys/archive/2013/05/08/windows-8-supporting-proxy-services-with-static-configurations-web-hosted-pac-files-and-domain-policy-configured-proxy.aspx#comments</comments><description>&lt;p&gt;Many companies have started using Windows 8 and have noticed with some of the new features there are times when things just don’t seem to work the way they expected them too; this was due to configuration needs and not actual issues in many cases.&amp;#160; We have found this is normally due to some additional configurations that are required to enable the newer features and applications that have been introduced with the new OS.&lt;/p&gt;  &lt;p&gt;I would like to focus on one that I have been putting some extra effort towards to help customers get the best experience they can when the enterprise has proxy services enabled and they see issues such as the Windows 8 apps and basic services are not communicating with web services.&lt;/p&gt;  &lt;p&gt;Sometimes communities identify issues and is important that we help improve the user experience when issues are identified. There are a couple articles currently articles addressing some of the original issues.&amp;#160;&amp;#160; Specifically the need to use the NETSH commands to correct the WINHTTP Proxy service; see the reference articles within this blog for links to them.&amp;#160; This include transitioning to new networks and the use of WPAD for the most robust model for Windows 8. &lt;/p&gt;  &lt;p&gt;Note: It is important to also understand before we review these scenarios and options that for the best Windows 8 experience it is recommended to use WPAD to enable all the features of Windows 8 without additional work for the client.&amp;#160; Use these links to understand how to implement WPAD and enabling Authenticated Proxy support.&lt;/p&gt;  &lt;p&gt;&lt;a name="Articles"&gt;&lt;b&gt;Supporting Articles:&amp;#160; &lt;/b&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Implementing WPAD: &lt;a href="http://support.microsoft.com/kb/2777643/EN-US"&gt;KB2777643&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Authenticated Proxy Support: &lt;a href="http://support.microsoft.com/kb/2778122/EN-US"&gt;KB2778122&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font size="4"&gt;Proxy Service in the Enterprise:&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name="KeyScenarios"&gt;&lt;b&gt;Key Scenarios&lt;/b&gt;&lt;/a&gt;: Typical results in the following scenarios with “Static Proxy”, “Web Hosted Proxy PAC Files” and “Domain Policy Defined Proxy”, hosted PAC files is the following: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Window 8 Network Location Awareness:&lt;/b&gt; NLA is required for Windows 8 applications to function properly by determining that you are connected to the internet by looking for a file called ncsi.txt on the internet and is the feature that tells the Windows 8 applications if your online.&amp;#160; When this is working right your Network Icon will reflect your online and when you access Windows 8 Application such as Bing Sports it will identify your access and function properly. Properly define proxy services will enable this.&lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Windows 8 Applications:&amp;#160; &lt;/b&gt;In general testing Windows 8 applications will function as designed.&amp;#160; &lt;b&gt;Note:&lt;/b&gt; &lt;i&gt;This is not a blanket statement for all Windows store application due to the lack of testing. I have tested the normal inbox apps and some additional application downloaded.&amp;#160;&amp;#160; &lt;/i&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;The Windows Store Application updates:&lt;/b&gt; This feature is functioning while using Static or PAC files when the user is on &lt;b&gt;public networks only&lt;/b&gt;.&amp;#160;&amp;#160; In some cases it has been noticed that the Inbox Windows 8 apps will be able to update while connected to the corporate network.&amp;#160; If the updating is needed internally and you must use a PAC file you may wish to look at using WPAD. Another option is to use the PAC file model I describe below.&amp;#160; &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;The Windows Store Catalogue:&lt;/b&gt;&amp;#160; Can be&amp;#160; viewed and searched.&amp;#160; &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Windows Store Apps Downloads:&lt;/b&gt;&amp;#160; This feature is functioning while using Static or PAC files when the user is on &lt;b&gt;&lt;i&gt;public networks only&lt;/i&gt; &lt;/b&gt;to purchase apps and download.&amp;#160;&amp;#160; If the download is needed internally and you must use a PAC file you may wish to look at using WPAD. Another option is to use the PAC file model I describe below. &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Windows Update:&lt;/b&gt;&amp;#160;&amp;#160; For Windows updates it has been observed that Automatic Updates do not work with Proxy configuration but both User Activated updates in the Windows 8 WU and the Classic Update model they will work.&amp;#160; Once the computer is on the public network it will be able to receive Automatic Updates or with the user checking for updates.&amp;#160; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;Note: There is a known Issue for Authenticating Proxies Solutions:&lt;/b&gt;&amp;#160; You will need to follow the guidance in the &lt;a href="http://support.microsoft.com/kb/2778122/EN-US"&gt;KB2778122&lt;/a&gt; for whitelisting certain HTTP address’s listed in article to ensure the best experience while on the corporate network. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; &lt;strong&gt;Known issue with local installed PAC files:&lt;/strong&gt;&amp;#160; Local install of PAC files will not work for more than Local Browser services. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font size="3"&gt;Enabling these PROXY scenarios:&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;We will walk through the simplest implementation which also has most limitation to the preferred method and options for configuration of PAC files. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a name="StaticPAC"&gt;&lt;b&gt;&lt;font size="2"&gt;Static Proxy Services:&lt;/font&gt; &lt;/b&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Note: &lt;/b&gt;&lt;i&gt;Only noted to help customers understand chance for negative experience. This is not preferred, this shouldn’t be used unless you are supporting desktop only. I just wanted to make people aware of it.&amp;#160;&amp;#160; Preferred approach is WPAD&lt;/i&gt;&lt;i&gt; and then Web Proxy PAC file&lt;/i&gt;&lt;i&gt; &lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;This model is a direct insertion of the proxy server address and port used for communication via Internet Explore through the configuration via “Internet Options” and clicking on “Connections Tab” then “LAN Settings” and setting up your proxy definition under Proxy Server”&lt;/p&gt;  &lt;p&gt;Load Internet Explorer&amp;#160; and open Settings / Internet Options&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/4314.clip_5F00_image001_5F00_5AB977E2.jpg"&gt;&lt;img title="clip_image001" style="display: inline; background-image: none;" border="0" alt="clip_image001" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/1602.clip_5F00_image001_5F00_thumb_5F00_32A6C8C3.jpg" width="238" height="313" /&gt;&lt;/a&gt; &lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/5342.clip_5F00_image002_5F00_18D29294.jpg"&gt;&lt;img title="clip_image002" style="display: inline; background-image: none;" border="0" alt="clip_image002" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/0564.clip_5F00_image002_5F00_thumb_5F00_3EC842EA.jpg" width="288" height="252" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;With this implementation you will find that as long as your computer is on the proper network where the proxy server can be found your services as described above will work.&amp;#160; If the Proxy Server is not locatable the following error will be observed due to WEB services not routing properly. Resolution will be to connect the system back to the proper network.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/2642.clip_5F00_image003_5F00_04D8FFFE.jpg"&gt;&lt;img title="clip_image003" style="display: inline; background-image: none;" border="0" alt="clip_image003" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/2570.clip_5F00_image003_5F00_thumb_5F00_6F0F17A0.jpg" width="325" height="144" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; Put the system back onto the proper network or remove the static proxy setting. &lt;/p&gt;  &lt;p&gt;&lt;a name="WEBPAC"&gt;&lt;b&gt;&lt;font size="2"&gt;Web Based Proxy PAC File: &lt;/font&gt;&lt;/b&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Note:&lt;/b&gt;&amp;#160; U&lt;i&gt;sing the following two configuration options in the Proxy path configuration &lt;font color="#ff0000"&gt;do not&lt;/font&gt; work:&lt;/i&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font color="#ff0000"&gt;&amp;#160;&lt;/font&gt;&lt;a href="file://\\server\share\file.pac"&gt;&lt;font color="#ff0000"&gt;\\server\share\file.pac&lt;/font&gt;&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="file://C:/ProxyFolder/file.pac"&gt;&lt;font color="#ff0000"&gt;File://C:/ProxyFolder/file.pac&lt;/font&gt;&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;If Proxy PAC files need to be used in the enterprise environment using a web hosted service is the preferred method.&amp;#160; This can be hosted on the proxy server or any other IIS services hosting the file so it can be accessed by the computer at boot.&amp;#160;&amp;#160; To do this you need to configure the PROXY setting in the manner below. &lt;/p&gt;  &lt;p&gt;This model is a direct insertion of the web server address for the PAC file for communication via Internet Explore through the configuration via “Internet Options” and clicking on “Connections Tab” then “LAN Settings” and setting up your proxy definition under Proxy Server&lt;/p&gt;  &lt;p&gt;Load Internet Explorer&amp;#160; and open Settings / Internet Options&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/6724.clip_5F00_image001_5F00_0328342A.jpg"&gt;&lt;img title="clip_image001" style="display: inline; background-image: none;" border="0" alt="clip_image001" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/0572.clip_5F00_image001_5F00_thumb_5F00_2D283252.jpg" width="274" height="360" /&gt;&lt;/a&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/6278.clip_5F00_image004_5F00_531DE2A8.jpg"&gt;&lt;img title="clip_image004" style="display: inline; background-image: none;" border="0" alt="clip_image004" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/2818.clip_5F00_image004_5F00_thumb_5F00_791392FE.jpg" width="336" height="296" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In this case you will have the expected results I noted &lt;a href="#KeyScenarios"&gt;above&lt;/a&gt; in the top of this Blog. I also want to provide a couple sample PAC files that I have found to help make the user experience work well.&amp;#160;&amp;#160; I also will discuss a model where you could potentially enable the Windows 8 App Store for downloading applications that was mentioned above where it may potentially not work with PAC files.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Sample PAC file #1:&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Net Results will be that your system will function with new Windows 8 Apps but you will not be able to download new apps till the device is placed outside the corporate network.&amp;#160; The proxy will be offline and your system will default to standard full internet access allowing the download of the selected applications.&amp;#160; If for some reason you have an external Proxy you will need to consider the second sample file for the best results. &lt;/p&gt;  &lt;p&gt;This file is the simplest and will identify your host network and then designate the Proxy Server for that network.&amp;#160; If the network host is not found it instructs the WINHTTP services to use the default gateway of the computer.&amp;#160; While on the company network Windows 8 App Store Downloads may not work but when the computer is on a public network it will be able to download Windows Store Apps. &lt;/p&gt;  &lt;p&gt;You can use&amp;#160; notepad.exe to create a simple test file, example: Sample1.PAC&lt;/p&gt;  &lt;p&gt;&lt;font color="#9b00d3"&gt;//Begin&lt;/font&gt;&lt;/p&gt; &lt;font color="#9b00d3"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font color="#9b00d3"&gt;function FindProxyForURL(url, host)&lt;/font&gt;&lt;/p&gt; &lt;font color="#9b00d3"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font color="#9b00d3"&gt;{&lt;/font&gt;&lt;/p&gt; &lt;font color="#9b00d3"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font color="#9b00d3"&gt;if (isInNet(myIpAddress(), &amp;quot;10.0.0.0&amp;quot;, &amp;quot;255.255.255.0&amp;quot;))&lt;/font&gt;&lt;/p&gt; &lt;font color="#9b00d3"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font color="#9b00d3"&gt;return &amp;quot;PROXY ProxyServerName:8080&amp;quot;;&lt;/font&gt;&lt;/p&gt; &lt;font color="#9b00d3"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font color="#9b00d3"&gt;else &amp;quot;Proxy Direct&amp;quot;;&lt;/font&gt;&lt;/p&gt; &lt;font color="#9b00d3"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font color="#9b00d3"&gt;}&lt;/font&gt;&lt;/p&gt; &lt;font color="#9b00d3"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font color="#9b00d3"&gt;//End&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name="SAMPLEPAC2"&gt;&lt;/a&gt;&lt;a name="SAMPLEPAC"&gt;&lt;/a&gt;&lt;b&gt;Sample PAC File #2: &lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Note: &lt;/b&gt;&lt;i&gt;This will require corporate review and approval most likely. The purpose of this Script is to enable Windows Application Store Downloads within the corporate network with proxy services or if the company is using an External Web based Proxy Service.&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;In this scenario you have a Default Gateway on the corporate network that is open to the internet but normal traffic is always processed through the Proxy server.&amp;#160;&amp;#160; With this configuration we have directed any traffic required to communicate with Microsoft to be allowed to operate through the default gateway and the limited capabilities are now removed and Windows Store Apps will now be successfully downloaded on the corporate network. &lt;/p&gt;  &lt;p&gt;You can use&amp;#160; notepad.exe to create a simple test file, example: Sample2.PAC&lt;/p&gt;  &lt;p&gt;&lt;font color="#9b00d3"&gt;//Begin&lt;/font&gt;&lt;/p&gt; &lt;font color="#9b00d3"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font color="#9b00d3"&gt;function FindProxyForURL(url, host)&lt;/font&gt;&lt;/p&gt; &lt;font color="#9b00d3"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font color="#9b00d3"&gt;{&lt;/font&gt;&lt;/p&gt; &lt;font color="#9b00d3"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font color="#9b00d3"&gt;// variable strings to return&lt;/font&gt;&lt;/p&gt; &lt;font color="#9b00d3"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font color="#9b00d3"&gt;var proxy_online = &amp;quot;PROXY ProxyServer:8080&amp;quot;;&lt;/font&gt;&lt;/p&gt; &lt;font color="#9b00d3"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font color="#9b00d3"&gt;var proxy_offline = &amp;quot;DIRECT&amp;quot;;&lt;/font&gt;&lt;/p&gt; &lt;font color="#9b00d3"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font color="#9b00d3"&gt;if (shExpMatch(url, &amp;quot;&lt;/font&gt;&lt;a href="http://*.microsoft.com*"&gt;&lt;font color="#9b00d3"&gt;http://*.microsoft.com*&lt;/font&gt;&lt;/a&gt;&lt;font color="#9b00d3"&gt;&amp;quot;)) &lt;/font&gt;&lt;/p&gt; &lt;font color="#9b00d3"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font color="#9b00d3"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; { return proxy_offline; }&lt;/font&gt;&lt;/p&gt; &lt;font color="#9b00d3"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font color="#9b00d3"&gt;if (shExpMatch(url, &amp;quot;&lt;/font&gt;&lt;a href="https://*.microsoft.com*"&gt;&lt;font color="#9b00d3"&gt;https://*.microsoft.com*&lt;/font&gt;&lt;/a&gt;&lt;font color="#9b00d3"&gt;&amp;quot;))      &lt;br /&gt; { return proxy_offline; }&lt;/font&gt;&lt;/p&gt; &lt;font color="#9b00d3"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font color="#9b00d3"&gt;// Proxy anything else&lt;/font&gt;&lt;/p&gt; &lt;font color="#9b00d3"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font color="#9b00d3"&gt;return proxy_online;&lt;/font&gt;&lt;/p&gt; &lt;font color="#9b00d3"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font color="#9b00d3"&gt;}&lt;/font&gt;&lt;/p&gt; &lt;font color="#9b00d3"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font color="#9b00d3"&gt;//END&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name="DomainPolicy"&gt;&lt;b&gt;&lt;font size="2"&gt;Domain Policy Configuration for a PAC File:&lt;/font&gt;&lt;/b&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This procedure assumes you are familiar will traversing the Group Policy Management tool using either Server 2012 or the Remote Server Administration Toolkit for Windows 8.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;First create a policy for Internet Explorer 10 for the proxy configuration under “User Settings” Preference – Control panel settings. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/2330.clip_5F00_image005_5F00_1F094355.jpg"&gt;&lt;img title="clip_image005" style="display: inline; background-image: none;" border="0" alt="clip_image005" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/2474.clip_5F00_image005_5F00_thumb_5F00_5DFAC3F0.jpg" width="323" height="292" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; Wizard will pull up and then you can select “Connection” Tab and then “LAN settings” Radio Button&lt;/p&gt;  &lt;p&gt;Enter the required Proxy settings and then link the GPO to you target OU &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/7587.clip_5F00_image007_5F00_5603218E.jpg"&gt;&lt;img title="clip_image007" style="display: inline; background-image: none;" border="0" alt="clip_image007" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/3817.clip_5F00_image007_5F00_thumb_5F00_4D9F4C37.jpg" width="326" height="213" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Make sure to select F5 on the Field when you enter the Name so it is accepted.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/8547.clip_5F00_image008_5F00_5A992C48.jpg"&gt;&lt;img title="clip_image008" style="display: inline; background-image: none;" border="0" alt="clip_image008" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/7802.clip_5F00_image008_5F00_thumb_5F00_52A189E6.jpg" width="328" height="273" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This will allow you to now set the Proxy GPO on your system.&amp;#160; &lt;/p&gt;  &lt;p&gt;Additional information for PAC Files Scripting options can be found here: &lt;a href="http://technet.microsoft.com/en-us/library/dd361950.aspx"&gt;MS TechNet on PAC File Scripting&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;This post was contributed by &lt;/em&gt;&lt;strong&gt;Scott Culbertson&lt;/strong&gt;&lt;em&gt;, a Solution Architect with Microsoft Consulting Services.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;The information on this site is provided &amp;quot;AS IS&amp;quot; with no warranties, confers no rights, and is not supported by the authors or Microsoft Corporation. Use of included script samples are subject to the terms specified in the &lt;a href="http://www.microsoft.com/about/legal/en/us/Copyright/Default.aspx"&gt;Terms of Use&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3571464" width="1" height="1"&gt;</description></item><item><title>USMT Restore Status Notification HTA in Full Operating System</title><link>http://blogs.technet.com/b/deploymentguys/archive/2013/04/09/usmt-restore-status-notification-hta-in-full-operating-system.aspx</link><pubDate>Tue, 09 Apr 2013 16:35:15 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3564388</guid><dc:creator>Brad Tucker</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/deploymentguys/rsscomments.aspx?WeblogPostID=3564388</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/deploymentguys/commentapi.aspx?WeblogPostID=3564388</wfw:comment><comments>http://blogs.technet.com/b/deploymentguys/archive/2013/04/09/usmt-restore-status-notification-hta-in-full-operating-system.aspx#comments</comments><description>&lt;p&gt;In my previous blog &lt;a href="http://blogs.technet.com/b/deploymentguys/archive/2013/04/09/usmt-capture-status-notification-hta-in-full-operating-system.aspx" target="_blank"&gt;entry&lt;/a&gt;, I explained my customer’s need for stand-alone USMT Capture and USMT Restore task sequences and their need for a notification box to pop up and let the technicians know the process completed successfully.&amp;#160; This post will continue in that vein and discuss the notification HTA for the USMT Restore task sequence.&lt;/p&gt;  &lt;p&gt;The requirement was to make a notification box pop up and pause the task sequence until it is acknowledged or closed.&amp;#160; &lt;/p&gt;  &lt;p&gt;I created a simple HTA that will look for the loadstate.log in the CCM\Logs\SMSTSlog folder based on architecture.&amp;#160; As I am sure you are aware, the SMSTSLog folder is where the logs are placed during the task sequence, so they are always guaranteed to be current.&amp;#160; It isn’t until the task sequence is closed out that the logs are moved one level up and the SMSTSLog folder removed.&lt;/p&gt;  &lt;p&gt;If they are running on a Windows XP machine the path is: &lt;/p&gt;  &lt;p&gt;&lt;em&gt;C:\Windows\System32\CCM\Logs\SMSTSLog\loadstate.log.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;If they are running on a Windows 7 x64 machine, the path is: &lt;/p&gt;  &lt;p&gt;&lt;em&gt;C:\Windows\SysWow64\CCM\Logs\SMSTSLog\loadstate.log&lt;/em&gt;&lt;/p&gt; &lt;em&gt;&lt;/em&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The HTA then parses this log file looking for ‘MIGACTIVITY_SUCCESS’.&amp;#160; If this message exists in the log file, the HTA returns the following box…&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/0005.image_5F00_5A2CE1F5.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-61-27-metablogapi/6646.image_5F00_thumb_5F00_170163C8.png" width="518" height="261" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If it doesn’t exist, they see the following box…&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/1830.image_5F00_0A6390DF.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-61-27-metablogapi/0081.image_5F00_thumb_5F00_6D99F5FC.png" width="521" height="262" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now that the HTA is functional, I have to put it in the task sequence and make it visible while running inside the full operating system.&amp;#160; This is where the fun really begins…&lt;/p&gt;  &lt;p&gt;Luckily, we can take advantage of ServiceUi.exe that exists in the Tools\x86 or Tools\x64 folders within the Microsoft Deployment Toolkit package.&amp;#160; We can launch this by calling it from %toolroot%.&lt;/p&gt;  &lt;p&gt;Placing my HTA file in a folder called CustomScripts underneath the Scripts folder in the toolkit package allows me to use the command line…&lt;/p&gt;  &lt;p align="left"&gt;&lt;em&gt;%toolroot%\serviceui.exe –process:tsprogressui.exe %systemroot%\system32\mshta.exe %scriptroot%\CustomScripts\USMTRestoreStatus.hta&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Here is an example of how to call my HTA using the ServiceUi.exe…&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/3652.RestoreNotificationTaskCommand_5F00_4DDAF667.png"&gt;&lt;img title="RestoreNotificationTaskCommand" style="display: inline; background-image: none;" border="0" alt="RestoreNotificationTaskCommand" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/1134.RestoreNotificationTaskCommand_5F00_thumb_5F00_79B75C24.png" width="651" height="325" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;For more information on the use of ServiceUI.exe, see &lt;a href="http://blogs.technet.com/b/cameronk/archive/2011/01/25/can-i-use-serviceui-exe-to-launch-other-programs-besides-the-udi-setup-wizard.aspx" target="_blank"&gt;‘Can I use ServiceUI.exe to launch other programs besides the UDI Setup Wizard?’&lt;/a&gt; on &lt;a href="http://blogs.technet.com/b/cameronk" target="_blank"&gt;Cameron’s Blog – Cravings of System Center&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;USMTRestoreStatus.hta&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;&amp;lt;html&amp;gt;      &lt;br /&gt;&amp;lt; head&amp;gt;       &lt;br /&gt;&amp;lt; title&amp;gt;USMT Restore Status&amp;lt;/title&amp;gt;       &lt;br /&gt;&amp;lt; HTA:APPLICATION       &lt;br /&gt;&amp;#160; APPLICATIONNAME=&amp;quot;USMT Restore Status&amp;quot;       &lt;br /&gt;&amp;#160; ID=&amp;quot;USMTRestoreStatus&amp;quot;       &lt;br /&gt;&amp;#160; SCROLL=&amp;quot;no&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;lt; /head&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;&amp;lt;script language=&amp;quot;VBScript&amp;quot;&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;' *****************      &lt;br /&gt; ' * Window_OnLoad *       &lt;br /&gt; ' *****************&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;Sub Window_OnLoad      &lt;br /&gt;&amp;#160; 'This method will be called when the application loads       &lt;br /&gt;&amp;#160;&amp;#160; window.resizeTo 600,300       &lt;br /&gt;&amp;#160;&amp;#160; window.moveto 1,1       &lt;br /&gt;&amp;#160;&amp;#160; USMTStatus       &lt;br /&gt; End Sub&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;   &lt;br /&gt;&lt;font size="1"&gt; ' *****************      &lt;br /&gt; ' * USMTStatus&amp;#160;&amp;#160;&amp;#160; *       &lt;br /&gt; ' *****************&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;Sub USMTStatus      &lt;br /&gt;Const ForReading = 1&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;' Set the search parameter      &lt;br /&gt; Set objRegEx = CreateObject(&amp;quot;VBScript.RegExp&amp;quot;)       &lt;br /&gt;objRegEx.Pattern = &amp;quot;MIGACTIVITY_SUCCESS&amp;quot;&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;' Prepare log file connectivity      &lt;br /&gt; Set objFSO = CreateObject(&amp;quot;Scripting.FileSystemObject&amp;quot;)&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;' WMI Connectivity      &lt;br /&gt;strComputer = &amp;quot;.&amp;quot;       &lt;br /&gt; Set objWMIService = GetObject(&amp;quot;winmgmts:&amp;quot; &amp;amp; &amp;quot;{impersonationLevel=impersonate}!\\&amp;quot; &amp;amp; strComputer &amp;amp; &amp;quot;\root\cimv2&amp;quot;)&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;' Query WMI for processor architecture type      &lt;br /&gt; Set colProcessors= objWMIService.ExecQuery (&amp;quot;Select * From Win32_Processor&amp;quot;)&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;' Set log file location based on processor architecture type      &lt;br /&gt; For Each objProcessor in colProcessors       &lt;br /&gt;&amp;#160; If objProcessor.Architecture = 0 Then       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Set objFile = objFSO.OpenTextFile(&amp;quot;C:\windows\system32\ccm\logs\SMSTSLog\loadstate.log&amp;quot;, ForReading)       &lt;br /&gt;&amp;#160; Else       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Set objFile = objFSO.OpenTextFile(&amp;quot;C:\windows\syswow64\ccm\logs\SMSTSLog\loadstate.log&amp;quot;, ForReading)       &lt;br /&gt;&amp;#160; End If&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;' Set initial returnSuccess to 'False'      &lt;br /&gt;returnSuccess = False&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;' Parse the scanstate.log file for search parameters      &lt;br /&gt; Do Until objFile.AtEndOfStream       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; strSearchString = objFile.ReadLine       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Set colMatches = objRegEx.Execute(strSearchString)&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; If colMatches.Count &amp;gt; 0 Then       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; For Each strMatch in colMatches       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; returnSuccess = True       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Next       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; End If       &lt;br /&gt; Loop&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;' Set HTA pop-up box text based on search results      &lt;br /&gt; If returnSuccess = True Then       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DataArea.InnerHTML = &amp;quot;The user state was SUCCESSFULLY restored.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;PLEASE CLOSE THIS BOX TO END THE TASK SEQUENCE.&amp;quot;       &lt;br /&gt; Else       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DataArea.InnerHTML = &amp;quot;The user state was NOT SUCCESSFULLY restored.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;PLEASE CLOSE THIS BOX TO END THE TASK SEQUENCE.&amp;quot;       &lt;br /&gt; End If&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;Next&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;End Sub&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;   &lt;br /&gt;&lt;font size="1"&gt;&amp;lt; /script&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;&amp;lt;body bgcolor= &amp;quot;white&amp;quot;&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;&amp;lt;span id = &amp;quot;DataArea&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;&amp;lt;!--{{InsertControlsHere}}-Do not remove this line--&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;&amp;lt;/body&amp;gt;      &lt;br /&gt;&amp;lt; /html&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;br clear="all" /&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;div id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:f305e452-2adc-4a8d-a848-5c67ed242c4b" class="wlWriterEditableSmartContent" style="margin: 0px; padding: 0px; float: none; display: inline;"&gt;&lt;p&gt; &lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/6646.USMTRestoreStatus_5F00_0A3F3146.zip" target="_blank"&gt;USMTRestoreStatus.hta&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br clear="all" /&gt;&amp;#160; &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;This post was contributed by &lt;strong&gt;Brad Tucker&lt;/strong&gt;, a Senior Consultant with Microsoft Services, East Region, United States&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Disclaimer: The information on this site is provided &amp;quot;AS IS&amp;quot; with no warranties, confers no rights, and is not supported by the authors or Microsoft Corporation. Use of included script samples are subject to the terms specified in the &lt;a href="http://www.microsoft.com/info/cpyright.mspx"&gt;&lt;strong&gt;Terms of Use&lt;/strong&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3564388" width="1" height="1"&gt;</description></item><item><title>USMT Capture Status Notification HTA in Full Operating System</title><link>http://blogs.technet.com/b/deploymentguys/archive/2013/04/09/usmt-capture-status-notification-hta-in-full-operating-system.aspx</link><pubDate>Tue, 09 Apr 2013 13:48:26 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3564319</guid><dc:creator>Brad Tucker</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/deploymentguys/rsscomments.aspx?WeblogPostID=3564319</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/deploymentguys/commentapi.aspx?WeblogPostID=3564319</wfw:comment><comments>http://blogs.technet.com/b/deploymentguys/archive/2013/04/09/usmt-capture-status-notification-hta-in-full-operating-system.aspx#comments</comments><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Recently, I had a customer that wanted separate, stand-alone USMT Capture and USMT Restore task sequences.&amp;#160; They had key depot locations that would allow users to drop off an old machine, and have the depot technicians image and restore data to a new device.&amp;#160; They would then repurpose the old machine.&lt;/p&gt;  &lt;p&gt;Evidently, they had issues with USMT not running successfully or perhaps it was forgotten by the technician in the first place.&amp;#160; So they asked for a notification box to pop up and let the technician know the data was, in fact, captured successfully.&lt;/p&gt;  &lt;p&gt;The requirement was to make a notification box pop up and pause the task sequence until it is acknowledged or closed.&amp;#160; &lt;/p&gt;  &lt;p&gt;I created a simple HTA that will look for the scanstate.log in the CCM\Logs\SMSTSlog folder based on architecture.&amp;#160; As I am sure you are aware, the SMSTSLog folder is where the logs are placed &lt;em&gt;during&lt;/em&gt; the task sequence, so they are always guaranteed to be current.&amp;#160; It isn’t until the task sequence is closed out that the logs are moved one level up and the SMSTSLog folder removed.&lt;/p&gt;  &lt;p&gt;If they are running on a Windows XP machine the path is: &lt;/p&gt;  &lt;p&gt;&lt;em&gt;C:\Windows\System32\CCM\Logs\SMSTSLog\scanstate.log.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;If they are running on a Windows 7 x64 machine, the path is: &lt;/p&gt;  &lt;p&gt;&lt;em&gt;C:\Windows\SysWow64\CCM\Logs\SMSTSLog\scanstate.log&lt;/em&gt;&lt;/p&gt; &lt;em&gt;&lt;/em&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The HTA then parses this log file looking for ‘MIGACTIVITY_SUCCESS’.&amp;#160; If this message exists in the log file, the HTA returns the following box…&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/4760.image_5F00_57DAD01C.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-61-27-metablogapi/6644.image_5F00_thumb_5F00_153B0ED7.png" width="525" height="264" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If it doesn’t exist, they see the following box…&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/3660.image_5F00_7EF4CDB7.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-61-27-metablogapi/4048.image_5F00_thumb_5F00_21F5195B.png" width="522" height="263" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now that the HTA is functional, I have to put it in the task sequence and make it visible while running inside the full operating system.&amp;#160; This is where the fun really begins…&lt;/p&gt;  &lt;p&gt;Luckily, we can take advantage of ServiceUi.exe that exists in the Tools\x86 or Tools\x64 folders within the Microsoft Deployment Toolkit package.&amp;#160; We can launch this by calling it from %toolroot%.&lt;/p&gt;  &lt;p&gt;Placing my HTA file in a folder called CustomScripts underneath the Scripts folder in the toolkit package allows me to use the command line…&lt;/p&gt;  &lt;p align="left"&gt;&lt;em&gt;%toolroot%\serviceui.exe –process:tsprogressui.exe %systemroot%\system32\mshta.exe %scriptroot%\CustomScripts\USMTCaptureStatus.hta&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Here is an example of how to call my HTA using the ServiceUi.exe…&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/4505.CaptureNotificationTaskCommand_5F00_3C918FA7.png"&gt;&lt;img title="CaptureNotificationTaskCommand" style="display: inline; background-image: none;" border="0" alt="CaptureNotificationTaskCommand" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/0284.CaptureNotificationTaskCommand_5F00_thumb_5F00_76CCB9EE.png" width="630" height="311" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;For more information on the use of ServiceUI.exe, see &lt;a href="http://blogs.technet.com/b/cameronk/archive/2011/01/25/can-i-use-serviceui-exe-to-launch-other-programs-besides-the-udi-setup-wizard.aspx" target="_blank"&gt;‘Can I use ServiceUI.exe to launch other programs besides the UDI Setup Wizard?’&lt;/a&gt; on &lt;a href="http://blogs.technet.com/b/cameronk" target="_blank"&gt;Cameron’s Blog – Cravings of System Center&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;USMTCaptureStatus.hta&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;&amp;lt;html&amp;gt;      &lt;br /&gt;&amp;lt; head&amp;gt;       &lt;br /&gt;&amp;lt; title&amp;gt;USMT Capture Status&amp;lt;/title&amp;gt;       &lt;br /&gt;&amp;lt; HTA:APPLICATION       &lt;br /&gt;&amp;#160; APPLICATIONNAME=&amp;quot;USMT Capture Status&amp;quot;       &lt;br /&gt;&amp;#160; ID=&amp;quot;USMTCaptureStatus&amp;quot;       &lt;br /&gt;&amp;#160; SCROLL=&amp;quot;no&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;lt; /head&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;&amp;lt;script language=&amp;quot;VBScript&amp;quot;&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;' *****************      &lt;br /&gt;' * Window_OnLoad *       &lt;br /&gt;' *****************&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;Sub Window_OnLoad      &lt;br /&gt;&amp;#160; 'This method will be called when the application loads       &lt;br /&gt;&amp;#160;&amp;#160; window.resizeTo 600,300       &lt;br /&gt;&amp;#160;&amp;#160; window.moveto 1,1       &lt;br /&gt;&amp;#160;&amp;#160; USMTStatus       &lt;br /&gt;End Sub&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;     &lt;br /&gt;' *****************       &lt;br /&gt;' * USMTStatus&amp;#160;&amp;#160;&amp;#160; *       &lt;br /&gt;' *****************&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;Sub USMTStatus      &lt;br /&gt;Const ForReading = 1&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;' Set the search parameter      &lt;br /&gt;Set objRegEx = CreateObject(&amp;quot;VBScript.RegExp&amp;quot;)       &lt;br /&gt;objRegEx.Pattern = &amp;quot;MIGACTIVITY_SUCCESS&amp;quot;&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;' Prepare log file connectivity      &lt;br /&gt;Set objFSO = CreateObject(&amp;quot;Scripting.FileSystemObject&amp;quot;)&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;' WMI Connectivity      &lt;br /&gt;strComputer = &amp;quot;.&amp;quot;       &lt;br /&gt;Set objWMIService = GetObject(&amp;quot;winmgmts:&amp;quot; &amp;amp; &amp;quot;{impersonationLevel=impersonate}!\\&amp;quot; &amp;amp; strComputer &amp;amp; &amp;quot;\root\cimv2&amp;quot;)&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;' Query WMI for processor architecture type      &lt;br /&gt;Set colProcessors= objWMIService.ExecQuery (&amp;quot;Select * From Win32_Processor&amp;quot;)&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;' Set log file location based on processor architecture type      &lt;br /&gt; For Each objProcessor in colProcessors       &lt;br /&gt;&amp;#160; If objProcessor.Architecture = 0 Then       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Set objFile = objFSO.OpenTextFile(&amp;quot;C:\windows\system32\ccm\logs\SMSTSLog\scanstate.log&amp;quot;, ForReading)       &lt;br /&gt;&amp;#160; Else       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Set objFile = objFSO.OpenTextFile(&amp;quot;C:\windows\syswow64\ccm\logs\SMSTSLog\scanstate.log&amp;quot;, ForReading)       &lt;br /&gt;&amp;#160; End If&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;' Set initial returnSuccess to 'False'      &lt;br /&gt;returnSuccess = False&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;' Parse the scanstate.log file for search parameters      &lt;br /&gt; Do Until objFile.AtEndOfStream       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; strSearchString = objFile.ReadLine       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Set colMatches = objRegEx.Execute(strSearchString)&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; If colMatches.Count &amp;gt; 0 Then       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; For Each strMatch in colMatches       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; returnSuccess = True       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Next       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; End If       &lt;br /&gt; Loop&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;' Set HTA pop-up box text based on search results      &lt;br /&gt; If returnSuccess = True Then       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DataArea.InnerHTML = &amp;quot;The user state was SUCCESSFULLY captured.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;PLEASE CLOSE THIS BOX TO END THE TASK SEQUENCE.&amp;quot;       &lt;br /&gt; Else       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DataArea.InnerHTML = &amp;quot;The user state was NOT SUCCESSFULLY captured.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;PLEASE CLOSE THIS BOX TO END THE TASK SEQUENCE.&amp;quot;       &lt;br /&gt; End If&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;Next&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;End Sub&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;     &lt;br /&gt;&amp;lt; /script&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;&amp;lt;body bgcolor= &amp;quot;white&amp;quot;&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;&amp;lt;span id = &amp;quot;DataArea&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;&amp;lt;!--{{InsertControlsHere}}-Do not remove this line--&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;font size="1"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="1"&gt;&amp;lt;/body&amp;gt;      &lt;br /&gt;&amp;lt; /html&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;br clear="all" /&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;div id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:01facb15-266e-4c4a-a0e0-d3c377d9d98d" class="wlWriterEditableSmartContent" style="margin: 0px; padding: 0px; float: none; display: inline;"&gt;&lt;p&gt; &lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/3730.USMTCaptureStatus_5F00_13567F44.zip" target="_blank"&gt;USMTCaptureStatus.zip&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;  &lt;br clear="all" /&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;This post was contributed by &lt;strong&gt;Brad Tucker&lt;/strong&gt;, a Senior Consultant with Microsoft Services, East Region, United States&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Disclaimer: The information on this site is provided &amp;quot;AS IS&amp;quot; with no warranties, confers no rights, and is not supported by the authors or Microsoft Corporation. Use of included script samples are subject to the terms specified in the &lt;a href="http://www.microsoft.com/info/cpyright.mspx"&gt;&lt;strong&gt;Terms of Use&lt;/strong&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3564319" width="1" height="1"&gt;</description></item><item><title>Create Windows-To-Go drives in a simple Factory mode</title><link>http://blogs.technet.com/b/deploymentguys/archive/2013/02/27/create-windows-to-go-drives-in-a-simple-factory-mode.aspx</link><pubDate>Wed, 27 Feb 2013 16:22:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3555311</guid><dc:creator>DeploymentGuys</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/deploymentguys/rsscomments.aspx?WeblogPostID=3555311</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/deploymentguys/commentapi.aspx?WeblogPostID=3555311</wfw:comment><comments>http://blogs.technet.com/b/deploymentguys/archive/2013/02/27/create-windows-to-go-drives-in-a-simple-factory-mode.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/hh831833.aspx"&gt;&lt;b&gt;Windows To Go&lt;/b&gt;&lt;/a&gt; is a feature in Windows 8 Enterprise that allows Windows 8 Enterprise to boot and run from mass storage devices such as USB flash drives and external hard disk drives. It is a fully manageable corporate Windows 8 environment.&lt;/p&gt;  &lt;p&gt;During a recent project we faced the need to generate hundreds of WTG drives in a short time. We evaluated USB disk duplicators such as the &lt;b&gt;&lt;i&gt;ILY Spartan USB duplicator&lt;/i&gt;&lt;/b&gt; (&lt;a href="http://ily.com/other_usbdupe.html"&gt;http://ily.com/other_usbdupe.html&lt;/a&gt; or &lt;a href="http://www.ily.com/super_usbdupe.html"&gt;http://www.ily.com/super_usbdupe.html&lt;/a&gt; ). We successfully tested the 7 and 118 port versions but finally decided to just use PowerShell and a USB hub. &lt;/p&gt;  &lt;p&gt;We used MDT 2012 Update1 for image engineering and Ben’s &lt;a href="http://blogs.technet.com/b/deploymentguys/archive/2012/10/26/start-screen-customization-with-mdt.aspx"&gt;guidance&lt;/a&gt; for the Start Screen customization to generate our master image (WTGContoso.WIM). This image is customized for all WTG usage and therefore we injected all corporate supported drivers. &lt;/p&gt;  &lt;p&gt;When the WTG image runs for the first time it will perform the same process as your normal image installation. If you provide the unattend.xml the configuration and domain join process is also automated.    &lt;br /&gt;There is also no need for special naming convention (lucky for us), so don’t have to mess around with naming script logic. We only ensured that Windows 8 started from a WTG stick is in a special OU that applies Group Policy with extra hardening settings. &lt;/p&gt;  &lt;p&gt;Attached is the PowerShell script to generate multiple WTG sticks at the same time. The script will create the unattend.xml, format the WTG drive, enable BitLocker and deploy the image to the drive. &lt;/p&gt;  &lt;p&gt;For mass production use a USB hub and add as many WTG sticks to the PC as you can. The script will build all of them in a single process. During the first boot of the WTG drive, all unattend.XML settings are applied, the host hardware is detected and all drivers are installed.&lt;/p&gt;  &lt;p&gt;There are few script updates you need to perform for your environment:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Domain credentials&lt;/li&gt;    &lt;li&gt;Domain join account&lt;/li&gt;    &lt;li&gt;Join OU container&lt;/li&gt;    &lt;li&gt;Organization and Owner&lt;/li&gt;    &lt;li&gt;Timezone&lt;/li&gt;    &lt;li&gt;If needed you can add a run once script.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;This post was contributed by &lt;/em&gt;&lt;strong&gt;&lt;i&gt;Lutz Seidemann&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;, a Solution Architect with Microsoft Consulting Services.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;The information on this site is provided &amp;quot;AS IS&amp;quot; with no warranties, confers no rights, and is not supported by the authors or Microsoft Corporation. Use of included script samples are subject to the terms specified in the &lt;a href="http://www.microsoft.com/about/legal/en/us/Copyright/Default.aspx"&gt;Terms of Use&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3555311" width="1" height="1"&gt;</description><enclosure url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-03-55-53-11/WTGMultiProvision_5F00_Contoso.zip" length="9512" type="application/zip" /></item><item><title>Printer Remapping in Windows 7 Deployments</title><link>http://blogs.technet.com/b/deploymentguys/archive/2013/02/12/printer-remapping-in-windows-7-deployments.aspx</link><pubDate>Tue, 12 Feb 2013 18:05:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3551976</guid><dc:creator>DeploymentGuys</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/deploymentguys/rsscomments.aspx?WeblogPostID=3551976</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/deploymentguys/commentapi.aspx?WeblogPostID=3551976</wfw:comment><comments>http://blogs.technet.com/b/deploymentguys/archive/2013/02/12/printer-remapping-in-windows-7-deployments.aspx#comments</comments><description>&lt;p&gt;One of the challenges that I frequently come across is the shift from 32-bit operating system environments to 64-bit operating system environment during deployment projects. Windows 7&amp;nbsp; ships as both 32-bit as well as 64-Bit, with the 64-bit version becoming more popular due to its ability to handle large amounts of RAM and the wider availability of OEM 64-bit drivers.&lt;/p&gt;
&lt;p&gt;With this in mind, most customer we see are moving from Windows XP 32-bit to Windows 7 64-bit and as part of the effort of migrating we often see a need to migrate their printing infrastructure into a 64-bit compatible printing infrastructure.&lt;/p&gt;
&lt;p&gt;This introduces challenges around the migration of existing printers configured on the windows XP 32-bit environment. The User State Migration tool (USMT) is the great tool for migrating the user&amp;rsquo;s data and settings and it also helps migrating the network printers, but USMT does not takes care of the new print queues.&lt;/p&gt;
&lt;p&gt;To begin - lets examine how USMT handles network printers.&lt;/p&gt;
&lt;p&gt;During the USMT scan state phase USMT scans the HKCU\Printer\Connection registry keys and values and during the restore phase it restore the HKCU\Printer\Connection registry keys and values. Once the Print Spooler services get started it validates the network printer connection and then it makes the network printer visible under Devices and Printers within the operating system.&lt;/p&gt;
&lt;p&gt;In order to migrate network printers to a new queue, a scripted solution can be used which takes care of remapping the network printers. The challenging part in the solution is around using System Center Configuration Manager 2007 or System Center 2012 Configuration Manager. Because printers are populated per user, and the task sequence runs under the system context, any scripted solution that runs from the task sequence will not be able to find printers for any specific users. Moreover when the tasks sequence is running in the system context, it would not have access to HKCU.&lt;/p&gt;
&lt;p&gt;Because of these challenges, a scripted solution need to be run with the user&amp;rsquo;s rights &amp;ndash; which allows for two options&lt;/p&gt;
&lt;p&gt;1. Run the scripted solution via Group Policy Object(s) (GPO&lt;/p&gt;
&lt;p&gt;2. Inserting a run once registry values (If there is only one primary user associated with the machine) to run the scripted solution at user logon.&lt;/p&gt;
&lt;p&gt;Each of these deployment methods has its own pros and cons. Typically, a customer environment has PCs which in most part are used by a single user &amp;ndash; the preference would be to add the run once registry value as part of the deployment task sequence as the last step or finish action in the task sequence.&lt;/p&gt;
&lt;p&gt;The script solution provided below is a solution that was developed to be deployed via the run once registry value. The script solution provides the ability to map old to new printer queues in a text file (PrintRemap.txt) which is then consumed by the PrintRemapRegistry script to make the changes.&lt;/p&gt;
&lt;p&gt;The PrintRemapRegistry script creates a log file under %Temp%\PrinterRemap_&amp;lt;ComputerName&amp;gt;.log which logs all the events. This log will also let you know if there is no mapping found. This script will not touch existing print queues unless they are listed in the printRemap.txt&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This post was contributed by &lt;strong&gt;Kaushal Pandey&lt;/strong&gt; (Guest Blogger), an Associate Consultant with Microsoft Global Delivery&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Disclaimer: The information on this site is provided "AS IS" with no warranties, confers no rights, and is not supported by the authors or Microsoft Corporation. Use of included script samples are subject to the terms specified in the &lt;a href="http://www.microsoft.com/info/cpyright.mspx"&gt;&lt;strong&gt;Terms of Use&lt;/strong&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3551976" width="1" height="1"&gt;</description><enclosure url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-03-55-19-76/PrintMapping.zip" length="3409" type="application/zip" /><category domain="http://blogs.technet.com/b/deploymentguys/archive/tags/Configuration+Manager/">Configuration Manager</category><category domain="http://blogs.technet.com/b/deploymentguys/archive/tags/Scripts/">Scripts</category><category domain="http://blogs.technet.com/b/deploymentguys/archive/tags/MDT/">MDT</category><category domain="http://blogs.technet.com/b/deploymentguys/archive/tags/Windows+7/">Windows 7</category><category domain="http://blogs.technet.com/b/deploymentguys/archive/tags/MDT+2012/">MDT 2012</category><category domain="http://blogs.technet.com/b/deploymentguys/archive/tags/ConfigMgr+2012/">ConfigMgr 2012</category><category domain="http://blogs.technet.com/b/deploymentguys/archive/tags/Tools/">Tools</category></item><item><title>Windows 8 BitLocker Deployment and PowerShell</title><link>http://blogs.technet.com/b/deploymentguys/archive/2013/01/17/windows-8-bitlocker-deployment-and-powershell.aspx</link><pubDate>Thu, 17 Jan 2013 11:29:27 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3546448</guid><dc:creator>DeploymentGuys</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/deploymentguys/rsscomments.aspx?WeblogPostID=3546448</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/deploymentguys/commentapi.aspx?WeblogPostID=3546448</wfw:comment><comments>http://blogs.technet.com/b/deploymentguys/archive/2013/01/17/windows-8-bitlocker-deployment-and-powershell.aspx#comments</comments><description>&lt;p&gt;With Windows 7 deployments, BitLocker installation for Operating System and data volumes has typically been configured as a post Operating System deployment activity – usually using the Enable BitLocker task sequence actions or by using the manage-bde.exe command line. &lt;/p&gt;  &lt;p&gt;The impact on the Windows 7 deployment process is that the full volume encryption process may take several hours as BitLocker requires that all data and free space on the drive is encrypted. This is especially true with the large volumes.&lt;/p&gt;  &lt;p&gt;With Windows 8, BitLocker can also be provisioned before the Operating System is installed, from within Windows PE. This is achieved by using a randomly generated protector that is stored clearly on the volume. The volume is then encrypted, all before the Windows setup process has started. &lt;/p&gt;  &lt;p&gt;That’s a great feature, however you’ll be thinking it will still take time to encrypt your entire disk – however Windows 8 also includes the option to encrypt only used disk space.&lt;/p&gt;  &lt;p&gt;When the Used Disk Space Only encryption option is configured during BitLocker setup, only the area of the drive that has data will be encrypted with free disk space remaining unencrypted. The result is that the encryption completes much faster – which will speed up the Windows provisioning process. &lt;/p&gt;  &lt;p&gt;The great news is that MDT 2012 Update 1 will handle this for us. The ZTIBDE.wsf script is executed during the PreInstall phase and will automatically enable BitLocker Offline from with Windows PE, using the UsedSpaceOnly parameter (if the partition is not already encrypted). This will literally take seconds to run. The data written to the volume during OS and application installation is then encrypted as it is written to the disk, with a very small impact on performance (less than 1%)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/1033.clip_5F00_image002_5F00_2898D9F5.jpg"&gt;&lt;img title="clip_image002" style="border-width: 0px; display: inline;" border="0" alt="clip_image002" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/5811.clip_5F00_image002_5F00_thumb_5F00_45BE81FF.jpg" width="400" height="240" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Once the OS image, applications and configurations have been installed, we include the standard Enable BitLocker task to configure the encryption protectors as required.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/6087.clip_5F00_image004_5F00_5D098670.jpg"&gt;&lt;img title="clip_image004" style="border-width: 0px; display: inline;" border="0" alt="clip_image004" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/0045.clip_5F00_image004_5F00_thumb_5F00_620BC41F.jpg" width="267" height="340" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;One challenge is configuring BitLocker on additional data partitions. Using the Enable BitLocker task sequence action will not allow us to set the parameters for Used Space Only. This is where we can use the new BitLocker PowerShell cmdlets.&lt;/p&gt;  &lt;p&gt;There are a host of new BitLocker cmdlets available in Windows 8, all described in the TechNet article at the end of this post. For this example, I am going to use the &lt;i&gt;Enable-BitLocker&lt;/i&gt; cmdlet to encrypt my extra data partition and specify the &lt;i&gt;–UsedSpaceOnly&lt;/i&gt; parameter.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/4341.clip_5F00_image006_5F00_6E2D3E46.jpg"&gt;&lt;img title="clip_image006" style="border-width: 0px; display: inline;" border="0" alt="clip_image006" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/2604.clip_5F00_image006_5F00_thumb_5F00_0C2B4C3B.jpg" width="567" height="196" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Then literally by the time I had typed &lt;i&gt;Enable-BitLockerAutoUnlock D:&lt;/i&gt; to configure Autounlock for the D partition, the encryption process had completed and the Protection Status had changed to On. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/1526.clip_5F00_image008_5F00_1537D7BC.jpg"&gt;&lt;img title="clip_image008" style="border-width: 0px; display: inline;" border="0" alt="clip_image008" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/1538.clip_5F00_image008_5F00_thumb_5F00_6CB8F5A7.jpg" width="571" height="136" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The PowerShell cmdlets can be called during the deployment process using the Run Command Line or even better, put together in a PowerShell script and called using the new Run PowerShell Script action in MDT 2012 Update 1 (thus making use of the integrated logging features with BDD.Log). A very simple example is illustrated below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/4341.clip_5F00_image010_5F00_592B9606.jpg"&gt;&lt;img title="clip_image010" style="border-width: 0px; display: inline;" border="0" alt="clip_image010" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/0243.clip_5F00_image010_5F00_thumb_5F00_1E63ED30.jpg" width="577" height="235" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The output from the script will be logged into the BDD log file automatically, as highlighted below:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/7571.Untitled_5F00_35AEF1A1.jpg"&gt;&lt;img title="Untitled" style="border: 0px currentcolor; display: inline;" border="0" alt="Untitled" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-61-27-metablogapi/4834.Untitled_5F00_thumb_5F00_72EFA668.jpg" width="584" height="340" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Take a look at the new BitLocker cmdlets documented in the following article:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/jj647767.aspx#BKMK_blcmdlets"&gt;http://technet.microsoft.com/en-us/library/jj647767.aspx#BKMK_blcmdlets&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Disclaimer: The information on this site is provided &amp;quot;AS IS&amp;quot; with no warranties, confers no rights, and is not supported by the authors or Microsoft Corporation. Use of included script samples are subject to the terms specified in the &lt;a href="http://www.microsoft.com/info/cpyright.mspx"&gt;Terms of Use&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;This post was contributed by ­­­­­­­­­­­­­­Matt Bailey&lt;i&gt;,&lt;/i&gt; a Consultant with Microsoft Services - UK&lt;i&gt;.&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3546448" width="1" height="1"&gt;</description></item><item><title>Windows 8 – Customizing the Default Lock Screen</title><link>http://blogs.technet.com/b/deploymentguys/archive/2012/12/11/windows-8-customizing-the-default-lock-screen.aspx</link><pubDate>Tue, 11 Dec 2012 20:30:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3532369</guid><dc:creator>Ben Hunter</dc:creator><slash:comments>12</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/deploymentguys/rsscomments.aspx?WeblogPostID=3532369</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/deploymentguys/commentapi.aspx?WeblogPostID=3532369</wfw:comment><comments>http://blogs.technet.com/b/deploymentguys/archive/2012/12/11/windows-8-customizing-the-default-lock-screen.aspx#comments</comments><description>&lt;p&gt;Have you tried to change the default wallpaper on the Windows 8 lock screen? Now I live in Seattle and quite like the stylized picture of Seattle but in an enterprise environment you may want a more &amp;ldquo;corporate&amp;rdquo; image.&lt;/p&gt;
&lt;p&gt;Until now you have not been able to do this without using an unsupported method of &amp;ldquo;hacking&amp;rdquo; file permissions and replacing the default wallpaper file.&lt;/p&gt;
&lt;p&gt;Well this has now changed , the &lt;a href="http://support.microsoft.com/kb/2770917"&gt;&lt;span style="text-decoration: underline;"&gt;Windows 8 and Windows Server 2012 cumulative update: November 2012&lt;/span&gt;&lt;/a&gt;&amp;nbsp; allows us to customize the start screen.&lt;/p&gt;
&lt;p&gt;There is a new Group Policy that allows you to &amp;ldquo;Force a specific default lock screen image&amp;rdquo;. For all the details on using this group policy setting please refer to the following TechNet article - &lt;a href="http://support.microsoft.com/kb/2787100/EN-US"&gt;&lt;span style="text-decoration: underline;"&gt;http://support.microsoft.com/kb/2787100/EN-US&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This post was contributed by &lt;strong&gt;Ben Hunter&lt;/strong&gt;, a Solution Architect with Microsoft Consulting Services.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Disclaimer: The information on this site is provided "AS IS" with no warranties, confers no rights, and is not supported by the authors or Microsoft Corporation. Use of included script samples are subject to the terms specified in the &lt;/strong&gt;&lt;a href="http://www.microsoft.com/info/cpyright.mspx"&gt;&lt;strong&gt;Terms of Use&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3532369" width="1" height="1"&gt;</description></item></channel></rss>