MDT 2012 will HideShell=YES and LTISuspend.wsf work together in one task sequence?

Short answer: YES 😀

Recently I have created a Build Task Sequence for a customer where it was needed to do some checks upfront, before the operating system, running on a virtual machine would be captured to a WIM file.

As some of you might know, the LTISuspend.wsf script, residing in the SCRIPTROOT of MDT (DeploymentShare\Scripts), can be called after the ‘State Restore’ step in the task sequence.

At any given moment, but preferably under the ‘Custom Action’s’ folder, create a ‘Run Command Line’, with the following commandline: “cscript.exe %SCRIPTROOT%\LTISuspend.wsf”

figure 1.1: Suspend Task Sequence Step


this will postpone the task sequence and create a shortcut on the desktop called ‘Resume Task Sequence’. However when using the following property in your customsettings.ini: “HideShell=YES”, your desktop shell will not be fully loaded, thus it would be possible that no desktop, taskbar and other icons where presented during the LTISuspend.wsf.

figure 1.2: No Explorer Shell

TS Progress

Luckily this isn’t the case. When the machine is suspended and HideShell is set to YES in the customsettings.ini the task sequence will be succesfully postponed, however the Windows theme, will be set to basic, as we can see by the screenshot I took:

figure 1.3: Suspended Task Sequence


So use it with confidence!

Keep on automating my young padawan learners! 😀

6 thoughts on “MDT 2012 will HideShell=YES and LTISuspend.wsf work together in one task sequence?

  1. Matt

    In MDT 2013 I’ve tried this as a task as part of the “Install applications ” grouping. Specifically after “Install Apllication” but before “Restore Groups’
    The one time I tried it I received an error that it couldn’t find it on the D:\ drive (I assume that’s the imaging share).
    Any ideas?

    1. Rens Hollanders

      Hi Matt,

      If you have used the command like I have stated it, (using the %SCRIPTROOT% variable) then It should always look into the deploymentshare\scripts folder. So on your local D: Drive sounds weird to me.

      If you like me to have a closer look, I need a screenshot of your task sequence, the exact command used for LTISuspend and a copy of your BDD.log. And for any privacy concerns make sure no information is located in the logfile If you do not want to share this information.

      Kind regards,


  2. Michael

    Hallo Rens,

    De oplossing zoals beschreven staat in jouw blog heb ik toegepast en werkt prima. We passen dit toe omdat we graag met RESAM de MDT uitrol verder willen configureren.

    Ik vroeg mij af of je ervaring hebt met LTIsuspend.wsf i.c.m. handmatige reboots. In ons geval, wanneer een reboot wordt uitgevoerd tijdens de suspend, wordt de tasksequence automatisch weer geresumed na de reboot. Als ik het goed begrijp en heb gelezen op het net, zou LTIsuspend.wsf daar goed mee om moeten kunnen gaan?

    Heb je een goed advies voor ons?

    Groet, Michael

    1. Rens Hollanders

      Hoi Michael,

      Bedankt voor je bericht, normaal gedrag is inderdaad dat je moet kunnen rebooten tijdens de suspend fase en de task sequence daarna niet automatisch verder gaat. Je zou eens kunnen kijken of er in “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”, “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce”, “HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run” of “HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\RunOnce” aanwijzingen staan die dit veroorzaken. Net als de startup folder van Windows.

      Iets anders kan ik me namelijk niet voorstellen.

      Groeten Rens

  3. Matthew

    Ciao Rens,
    I’m a new IT that use this MDT deploy system and I’m reading all your helpful post to improve it one.

    I have a question, I need the exclusion a pc that have a “ABC-* ” (ABC-P001, ABC-P002 ..) hostname to install the applications in the folder: state restore -> custom task.
    Have you any idea to do this?

    1. Rens Hollanders Post author


      you can set a wmi condition or task sequence variable condition on an entire group. In that group you place the applications to be installed specifically for these machines. Then you place the condition on the group: Task Sequence Variable OSDComputerName or Hostname equals ABC% or in WMI: select * from win32_computersystem where name like “ABD%”

      Try it!

      Cheers! Rens


Leave a Reply

Your email address will not be published.