Switch from BIOS to UEFI on Dell Systems during Windows 10 deployment with ConfigMgr

Blog post have been deprecated, please refer to the series of how switch from BIOS to UEFI found on the link below:

Nickolaj Andersen

Chief Technical Architect and Enterprise Mobility MVP since 2016. Nickolaj has been in the IT industry for the past 10 years specializing in Enterprise Mobility and Security, Windows devices and deployments including automation. Awarded as PowerShell Hero in 2015 by the community for his script and tools contributions. Creator of ConfigMgr Prerequisites Tool, ConfigMgr OSD FrontEnd, ConfigMgr WebService to name a few. Frequent speaker at conferences such as Microsoft Ignite, NIC Conference and IT/Dev Connections including nordic user groups.


  • Thank you Nicolai for the post.
    My TS runs fine until the Restart Computer at the end of the UEFI Configuration.
    It tries to PXE boot again, which fails, and then errors with No bootable devices found

  • Hi Nicolai.
    Great post but still I got this problem after all settings are done the computer boots up thru LAN and not from disk, the step Partition Disk UEFI wont start.

  • And do you know a way that the BIOS password you specficy in the command line won’t appear in the smsts.log files? thanks

      • Actually, you could probably create a Package with a set of Programs, that way the password will not be shown.

      • In the end I’m clearing the current password using a batch so it won’t show, and specifying it again later in the TS (in full OS) from the .exe created with the dell command configure (so it won’t show also)
        do you know if you can check the value (and not just the presence) of the current bios password the dell powershell provider? (to only run something if it’s the “old” bios password for example?

    • Hi Seb,
      That simple “batch” script takes care of launching the proper architecture of CCTK (x86 or x64), it seems a bit easier to let the script handle that.

    • I tried converting Windows 7 (LEGACY) to Windows 10 (UEFI) using SCCM 1610 and using the TSUEFIDrive parameter, but it failed 🙁 It seems that during the Restart step the script can’t find a partition to stage the WinPE image.
      Any help ?

      • had the same problem, I had to disable the uefi network stack,reboot, reload dell hapi drivers, re enable uefi network stack

      • Hi all,
        I’m currently in the process re-writing this process into one that leverages the now native functionality that came with ConfigMgr 1610. For Dell and HP I’ve created and verified task sequence templates that I will post as soon as I get word (OK) from Microsoft on a thing that I want to add in the blog post.
        Stay tuned!

  • Hi Nikolaj,
    Great write up, I am trying to achieve the same (switch from Bios to UEFI) While deploying windows 10 on existing windows 7 workstations. Unfortunately, I have more complex setup, my deployment method is SCCM Client advertisement and Hardware is Lenovo M93 and M92’s. My major concerns are, can I use your solution for CCM Client deployment method and secondly, if you have any idea how it works for Lenovo. I cannot find any tool like Dell Command.
    Thanks in advance

  • Do you need to enable Windows Powershell (WinPE-Pwershell) in your boot image to get this to work?
    My task sequence fails at “Detect Admin Password Presence” and “Prompt Administrator (Boot Media only)” with file not found errors. If I disable both these steps, the task sequence will complete without errors.

    • Hi Jerry,
      Yes, that’d be required for running the PowerShell scripts. You could also omit those steps, and simply just put a Continue on error for the Set Admin Password step if you wish not to use the PowerShell scripts. However, if you require to clear the last PXE advertisement, you’ll need PowerShell support, unless you want to write your own VB script.

      • All worked perfectly, once I added the WinPE Powershell component into my boot image.
        Thanks Nikolaj!

  • Great guide!
    I have run into a problem during the Disable Legacy Rom TS part. Im gettting the error “The system tried to delete the JOIN of a drive that is not joined. (Error: 00000088). Any idea how to solve it?

    • Make sure that your syntax is correct. Remember to use double dashes. I had the same issue because I only had one dash in front of the command. Double check you are using this syntax:
      cctk.cmd –uefinwstack=enable
      After I put the second dash it worked for me. You probably have it fixed by now but I wanted to reply just in case someone else had the same issue and came to this thread. Cheers!

  • Hi , This is a excellent guide 10x.
    I have one question , I didn’t use all the steps but i succeed to configure all the bios setting i need but after the computer restart he wont continue the task sequences , what step am i missing?

  • Awesome job Nickolaj. This has been a huge help. Is there any way we can get this to work completely zero-touch? We have thousands of Win 7 PCs with BIOS that need to be re-imaged to Win 10 with UEFI and obviously zero-touch would make this happen a lot quicker.

  • Hi Nickolaj,
    Great writeup – well done on figuring all this stuff out.
    I’m having issues during the admin password detection phase of the task sequence. If I disable this part then it works fine. smsts.log gives me an error of “Unable to import required PowerShell module: DellBIOSProvider” so I assume it’s unable to load the powershell module.
    I’ve followed your instructions to the T – folder structure looks the same. Using a 64-bit boot image and the 64-bit Dell Powershell addons retrieved from here ( as it doesn’t seem like they provide it via model pages anymore.
    Any suggestions?

    • Hi Doctor,
      I have the same problem, with importing module. I’ve tried both arch. but with the same error.
      I’ve tried run command line with powershell.exe -execut…..etc. but it types Failed tu run the action: Detect Admin Password Presence cmd. Incorrect function. (Error: 00000001; Source: Windows)
      Any ideas, please?

      • I’ve experiences issues when import the module on some models, but an update to the latest BIOS solved it. Have you tried that?

      • Hi NIckolaj,
        I have the latest BIOS, but it not works 🙁 I tried almost everything including manual module importing. Again error 0000001 with incorrect function.
        In fact PowerShell script running and staged properly, but import-module ends with exit code 1. Then it can’t be proceed with next step Read Admin Password property from DellSMBIOS provider.
        Anyone with the same experince?
        Thank you very much for any suggestion

  • […] 1E have a fully automated process and you can get more information here. Nickolai Andersen have a blog post where he automate the switch on Dell computers. Thanks to the blog post on Garytown for the […]

  • the step “Force PXE Boot” ist not working. System reboots to currently installed OS. Any idea?

  • I’ve updated the blog with a notice about the double dash issue, hopefully that’s clear enough. In addition I’ve made some clarifications to the part where you extract the Dell Command PowerShell Provider files.
    I hope this helps!

    • Thanks! Got it working after correctly extracting the folder into the proper place.
      Might be good to note to some older systems need to have the Bios upgraded to support Powershell provider.

    • I got this same error. I had to extract the Dell Provider zip and then copy the contents of the x64 folder to the modules folder. I didn’t copy the x86 files over. Redistributed the package and the script then works. (only if the model is supported doh!)
      Also make sure that the cctk commands to configure the UEFI settings are using “–” and not “-” like in the tables.
      Now if I can only get forcepxe to work on the latitiude 3340. It tries to pxe boot but sits on the screen before timing out. If you shut it off and turn it back on then it pxe boots with no issues.
      Good luck!

  • looks great, any tips for clearing tpm ownership without PPI ? seems dell have not included this option in cctk which is killing our zero touch


Categories use cookies to ensure that we give you the best experience on our website.