We have recently rolled out a Windows 7 installation solution based on SCCM 2012. After making the solution available to our local help-desks (and super users) we expreiced a lot of confusion and problems related to UEFI boot and legacy boot.

Basically our task sequence does not really handle UEFI boot (yet!), so if the task sequence is started using UEFI boot things are failing. This was not really an issue when creating and testing the the solution, we all knew to select legacy boot, however this is a lot harder to communicate to the many users of the service.

As a quick fix we decided to just have the task sequence display a warning and reboot the computer its booted using UEFI.

The solution comes easy by using a simple HTA and the task sequence variable _SMSTSBootUEFI.

First we created the warning HTA, basically just a small webpage, with some extra tags.

Then we added a new task sequence group “Warning on UEFI boot” and put a condition _SMSTSBootUEFI equals “true”. _SMSTSBootUEFI on it. The task sequence variable _SMSTSBootUEFI is automatically set to true if the task sequence is booted using UEFI.

Task sequence - filter UEFI

The group contains two steps, one to display the HTA warning and one that sets a variable “usercancelled” to true. The rest of our task sequence is wrapped in task sequence group set only to run if usercanccled is not set.

The result, if the task sequence is booted using UEFI a warning message is displayed and task sequence is rebooted.

No more handelig support request from people not reading the manual. Next step, get UEFI boot to work.