Partilhar via


Windows 10, MDT 2013 Update 1, and HideShell

Four blogs in a week.  In case you haven’t noticed yet, my team has started blogging to https://blogs.technet.com/WindowsITPro, so be sure to check that location too.  (We announced the release of MDOP and MDT last week.) 

For those using HideShell with Windows 8.1, you can continue to use it with MDT 2013 Update 1 and Windows 10.  It will continue to work well, leaving you with the final summary screen, without being able to interact with the shell, once the task sequence completes:

image

To enable that, just specify “HideShell=YES” in CustomSettings.ini.  But it’s important to point out that there is a change in behavior in Windows 10 that requires some undoing to make this work.  The default behavior for RunOnce registry entries, which is what MDT uses to implement HideShell, has changed from being synchronous (meaning all must complete before the shell is visible) to asynchronous (the shell shows up before they are done).  That change breaks the MDT HideShell behavior.  To work around that, we have to change a registry entry to get the RunOnce behavior to revert back.  This is done through an entry in the Unattend.xml template provided with MDT:

<RunSynchronousCommand wcm:action="add">
<Description>disable async RunOnce</Description>
<Order>4</Order>
<Path>reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer /v AsyncRunOnce /t REG_DWORD /d 0 /f</Path>
</RunSynchronousCommand>

(If you don’t see that entry in the Unattend.xml associated with your task sequence, maybe you didn’t create a new task sequence after you installed the MDT 2013 Update 1 final release?  That would be a bad thing…)

But there’s one other issue that you can run into, especially if your task sequence doesn’t run for very long in the new Windows 10 OS.  The initial “first run animation,” which is supposed to display while apps and other “one-time” operations are going on, ends up waiting for the RunOnce entries to finish too – and with HideShell in place, that never happens.  Eventually, the animation process gives up, but in the meantime, you have to stare at this screen for a long time:

image

To fix that, you can disable the first run animation via another registry tweak.  Add this to your Unattend.xml right after the command above that disables the async processing:

<RunSynchronousCommand wcm:action="add">
<Description>disable animation</Description>
<Order>5</Order>
<Path>reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableFirstLogonAnimation /d 0 /t REG_DWORD /f</Path>
</RunSynchronousCommand>

(Sure, you can use WSIM to do this, but Notepad is easier.  If you use Notepad, make sure the “Order” value is unique, e.g. change it to 5 like above.)

With that change in place, you’ll see a different screen:

image

But sadly, it still takes just as long.  So that by itself didn’t accomplish much.  But there is one more tweak that can be made:

<RunSynchronousCommand wcm:action="add">
    <Description>disable animation</Description>
    <Order>6</Order>
    <Path>reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v DelayedDesktopSwitchTimeout /d 0 /t REG_DWORD /f</Path>
</RunSynchronousCommand>

With that in place, you’ll see Windows switch immediately to the desktop once the local Administrator account signs in, showing the task sequence progress – very quickly.  Mission accomplished.

Changing these policies does affect subsequent user logons, so I would suggest running a script later to remove the registry keys added by the commands above.  Once they are removed, the typical behavior will return.

Comments

  • Anonymous
    August 24, 2015
    Well done Michael! Thanks a lot for this info!
  • Anonymous
    August 24, 2015
    This post is to serve as the release notes and known issues list for the current release of MDT 2013
  • Anonymous
    August 25, 2015
    Note that even if you are not using HideShell you will get the "This is taking a bit longer..." message with Windows 10 and short task sequences (I've got nothing in my TS right now - just playing with OS deployment). This message, and all the other bugs and workarounds, makes things look pretty ugly for Windows 10 when doing MDT deployments. Seems that Update 1 is half baked and only released now to meet a deadline. When will we be seeing a new version of MDT that cleans up all the workarounds and bugs brought in by Update 1?
  • Anonymous
    August 25, 2015
    The "this is taking a bit longer" scenario would have happened with Windows 8.1 and previous MDT releases too, so this isn't really new. It's just that more people notice now.

    See http://blogs.technet.com/msdeployment for information on known MDT 2013 Update 1 issues. The MDT team is working on fixing these.
  • Anonymous
    August 25, 2015
    Hi Michael, thanks a lot for this post! I really needed that!
  • Anonymous
    August 26, 2015
    Thanks Michael, Would be great if MDT2013 update 1 does all that automatically in a "Under the hood" or by adding a MDT settings that would be EnableHideShellforWIndows 10
  • Anonymous
    September 02, 2015
    Spent 2 days now after upgrading to win 10 trying to resolve issue of explorer 11 changing file extensions from ;exe, .pdf or whatever I'm downloading ti read or install. Having to fix each file or program by changing the"_" to a period ">" Done everything possible in internet options security, privacy and advanced includuing resetting all 3 to defaults; problem still there. Considering a 3rd party software fix trhat reads and instralls all file types. Also cannot find an APP that reads file extensions : ".exe"; tried that to with no joy. Help if you can forgive spelling please. Thank you.
  • Anonymous
    September 02, 2015
    Having to fix each file or program by changing the"_" to a period "." Sorry for the miss print there...

    my email is bosnred@hotmail.com
  • Anonymous
    September 15, 2015
    As noted in my previous post, given the number of issues with the original build of MDT 2013 Update 1
  • Anonymous
    September 20, 2015
    Did HKCU RunOnce change the permission it runs under (is it still administrator)?
  • Anonymous
    September 22, 2015
    Michael, are the RunSynchronous commands added to the Specialize configuration pass?
  • Anonymous
    September 22, 2015
    Also, it looks like some of these commands have been implemented in MDT 2013 U1 Re-Release (build 8298)
  • Anonymous
    October 11, 2015
    Hello.

    Something about that? https://social.technet.microsoft.com/Forums/es-ES/92d73e6a-7b33-4929-b9c8-64dbc4597064/mdt-2013-update-1-windows-10-deployment-not-automatically-logging-on-after-windows-updates?forum=mdt

    i have the same problem.
  • Anonymous
    October 12, 2015
    This extremely helpful to me thank you

    http://obatmaagampuh.com/obat-darah-tinggi-herbal/ |http://goo.gl/vHhA89 | http://tinyurl.com/ppautf3 | http://bit.ly/1vyP2Cj |http://ow.ly/SPGSO |


  • Anonymous
    October 19, 2015
    The first RunSynchronousCommand (Order 4) was included in Update 1 Re-release. Why not the 2nd one for animation though?
  • Anonymous
    October 28, 2015
    The comment has been removed