MDT: Using the UDI Wizard without SCCM

For those who know me, you know how deep my background in SCCM is. Over the last while, I have shifted more into the Platforms realm while keeping an eye in the rear view mirror. SCCM has a great deployment mechanism for OS Deployment, in my opinion, the best (of the paid options). For free software, MDT does run a close second in my book and some things integrated into SCCM do look a lot like MDT (cough).

So, there's this thing called the UDI wizard, and it's a tool I love. It is meant for SCCM, but really no options are available for MDT and never understood why this wasn't readily avaiable in MDT. I mean, the UDI wizard does ship with a standalone MDT install.

So, most places do have SCCM - why not just use that? Why use MDT standalone?

  • The most obvious, SCCM is mostly meant for production and locked down.
  • You're looking for a lightweight solution that can deploy an OS without the overhead of SCCM. (Cheap plug) You may want to check out my blog "PS without BS: Building MDT and WSUS on Server Core"
  • (One of my favorites) You don't want to risk deploying an OS to the wrong group.
  • You need to spin up a quick lab and want to test on some VMs.
  • You want to isolate deployments on a network.
  • You have limited hardware, and don't want to license SCCM.

Let's pause a second and say that on its own, nothing is wrong with MDT and give the standard disclaimer. It does a fine job on its own of deploying Task Sequences and is relatively flexible in isolation (without a dependency on SCCM). Now, for the disclaimer - OS Deployment can be a risky business (it will format drives). If you do accidentally (or on purpose) cause issues from deploying MDT, that's on you. So, this blog information is free, and if you call in the next 10 minutes, I will give you triple of nothing back as a warranty. Keep in mind that other concepts here such as building a UDI Wizard template are well documented, so I will not be going through that.

Okay, so onto the work. Hard to believe, but really couldn't find anything out there on how to make the UDI wizard work with a standalone MDT, so let's get started. I'm assuming that you have all your basics set up, the Deployment Share, Task Sequences, and UDI wizard at minimum.

So, let's go into specifics:

You need to:

  • Remove the Deployment Wizard
  • Remove the Welcome screens
  • Modify customsettings.ini
  • Create UDI files and modify the Task Sequence to use them.

Remove the Deployment Wizard

I will share with you my customsettings file, as these are the relevant settings I used. Not all of these settings are important to removing the Deployment Wizard, but this is how I like to deploy my OS. Make sure to change things as needed, this will not import cleanly.

[Init]
SkipTaskSequence=YES
SkipAppsOnUpgrade=YES
SkipAdminPassword=YES
SkipProductKey=YES
SkipComputerName=YES
SkipDomainMembership=YES
SkipUserData=YES
SkipLocaleSelection=YES
SkipTaskSequence=NO
SkipTimeZone=YES
SkipApplications=YES
SkipBitLocker=YES
SkipSummary=YES
SkipBDDWelcome=YES
SkipCapture=YES
SkipFinalSummary=YES

'Some additional changes and explanations below:
DeploymentType=NEWCOMPUTER
TaskSequenceID=
This is the ID of your Task Sequence in Properties of the TS, in my case, W10ENT
OSInstall=Y
DoCapture=NO
HideShell=YES
[Default]
FinishAction=REBOOT

I am also insuring that the Task Sequence is NOT intended to capture a new system, and will always be treated as bare metal. You can season this to taste, but this is how I treat systems in my lab. Also, for those others who are tempted to play with the desktop, HideShell is a way to remove the temptation for them and then at the end, simply reboot to a finished Windows.

Remove the Welcome Screen

This is done in the bootstrap.ini.

[Default]
SkipBDDWelcome=YES

So, at this point, you have disabled all the the Welcome components from appearing and set a default task sequence to run.

Create the UDI Wizard

The best thing to do here is just use something close to default and tweak later. The point here is just to get the wizard working, you can make it "pretty" later. We will call the files "MyUDI.xml" and "MyUDI.xml.app" for future reference. Simply create a new UDI Wizard XML and save it. The point here is just to get the UDI up and running.

Copy the UDI files into the Deployment Share

Don't forget the files need to be on the deployment share. The "MyUDI.xml" and "MyUDI.xml.app" files will need to be copied into the scripts folder of the Deployment Share.

Modify the Task Sequence

Here, we need to reference the UDI you created in the last step.
Go to the properties of the task sequence you referenced in the customsettings.ini. At the very top of the Task Sequence, add a Run Command Line step. You will need these parameters (with the assumption that the file you copied into the scripts folder of the deployment share:

Type: Run Command Line
Name: Start UDI Wizard (or whatever you want to call it)
Command Line: "%SCRIPTROOT%\UDIWizard.wsf" /definition:mdttest.xml

Make sure your deployment share is updated at this point and all your boot images are created and updated.

Start up the OS Deployment

Provided you didn't change the defaults of the boot image, you will see the MDT default background on first boot, along with the standard "Processing Bootstrap Settings" and "Processing Custom Settings". After that, you will see the UDI wizard.

So, now what?

From here, feel free to customize the UDI wizard as you want, and of course, test. Keep in mind that according to my example, the only relevant section is the NEWCOMPUTER section, the others don't need modification.

I hope you find this useful, using UDI was a big plus for me in my deployments. The good news is you can make this as simple or as complicated as you like, but if you were looking for simple, you wouldn't be reading this blog. :)

— Easy link to my blog: https://aka.ms/leesteve
If you like my blogs, please share it on social media and/or leave a comment.