Deployment – /dɪˈplɔɪm(ə)nt/ – the action of bringing resources into effective action.
This is how word Deployment is defined by Google. If we look at it from an IT perspective we can define resources as devices (computers, servers etc) which will be used by the end-user. Quite often in enterprise world you have to go out there and deploy lots and lots of different operating systems on different hardware and you have to do it efficiently.
Realistically the first question you have to ask yourself is how big is the environment you’re dealing with. If you’re dealing with a real enterprise (or small enterprise) environment for example 20 or more computers then you’re going to be looking for deployment solution. Honestly though if you’re dealing with less than 10 computers in your environment I have to say that maybe the ol’ way of popping in a CD or USB drive and then booting from it might be the easiest way to go.
What you have to realize that every time you introduce a solution in order to do something efficiently it takes time and energy to maintain it. So, if you don’t have that many computers to worry about then building such solution can end up being more expensive, more time consuming than it’s really worth.
But if you do decide that your environment is big enough, that you have all the patience needed for a deployment solution then what are you going to be looking for is a deployment software. This is where MDT comes in.
MDT is a tool, made by Microsoft, for operating system deployment.
They way MDT works is, it creates network-shared data store for various operating systems, drivers and software, it also works as share for patches, customized settings that you might want to deploy along with your operating system.
MDT works alongside with Microsoft WDS (Windows Deployment Services), that provides the PXE server capabilities on the network and handles the connection to the MDT Share using pre-generated MDT boot file, but more on that later.
Before we hop in into setting up the MDT here are the prerequisites for the MDT in order work.
- MDT itself
- Windows ADK (for the Pre-Installation environment and Deployment tools)
- Windows Server 2008 and above alongside with Windows Deployment Services Role (Examine picture below. Add roles and Features – Server Roles – Windows Deployment Services) (It is not needed for the server to be in a domain, MDT can work as a standalone deployment service).
- DHCP server running on the network
- Administrator credentials in order to connect to the deployment share
When all the necessary requirements are met and all the software is installed we can fire up the Deployment Workbench where all the magic will happen.
At first, we will need to make our Deployment Share, where all the files will be stored.
When the share is created we will need to import the Operating System we will want to deploy (right click on Operating Systems – Import OS). OS import options are numerous – it can be imported from an ISO or Windows DVD, Windows capture images (WIM files) also can be imported (in scenarios when the company wants to deploy an already prepared, with their own software installed image) or import images from another deployment server. It has to be noted that it is possible to import only Microsoft operating systems not older than Windows 7. Older ones still can be deployed using ConfigMgr2007.
When the OS has been imported Task Sequence needs to be created. (Right click on Task Sequence – New Task Sequence). Task Sequence basically is an instruction set for the MDT when deployment is initiated. You can edit the Task Sequences in order to achieve modified deployments (examine left bar of the New Task Wizard screenshot down below) for example if you have different computer groups in the company. When deploying you can choose the right Task Sequence needed.
It is possible to add applications and drivers to deployments supporting additional deployment flexibility when deploying OS’s, for example, to different systems, so that the deployment wouldn’t be limited to only one device like it was before (when deploying complete image with all the drivers and whatnot). Drivers can be added as well, supporting better compatibility when booting.
One thing that has to be considered, when adding applications to the share it is needed to add silent switches – /S in the Task Sequence Command Details to install the needed program automatically in the background, otherwise you will be left on Deployment machines desktop with the application’s Welcome screen and you will have to do the installation manually, because as shown in picture below, MDT only executes a command that only launches application installation file.
As mentioned before drivers can also be added to the Task Sequence. They can be imported in bulk by selecting the folder where they are stored. After the import, drivers are automatically added to the generated boot file (boot file? – more on that in a bit).
When all the work is done in the share we will need to update Deployment Share. In this step MDT will generate 2 boot files (32 and 64bit versions) for clients to connect. Right Click on share – Update Deployment Share.
MDT itself doesn’t provide PXE server functionality so when the necessary boot files has been generated we will need to configure Windows Deployment Services server. Open the WDS server Right click on configure server, follow the wizard and you’re good to go. After that previously generated boot images can be added to boot images section, from where all the machines will then boot from. Right click on Add Boot Images. Navigate to C:\DeploymentShare\Boot as shown in picture below and choose one both images. It should work just fine with 32bit boot image. Optionally you can add a 64bit image for UEFI device support.
Windows Deployment services is a great deployment solution just for deploying simple images, it’s quite easy to use it as well but it’s limited in deployment functionality.
That’s pretty much it, after those initial setup steps you will now have a functional Deployment system. Now all the machines booting in network will be able to start from created images. At first, they will connect to WDS PXE server from whom clients will boot from the boot image generated previously in the MDT and the Pre-boot Environment will be shown.
In PE we now can select the desired Task Sequence, give a computer name, change locales and customize information about the deployable system. All the settings can be automated though by previously specifying all the needed parameters in special files. But that’s another story for another day.
When the Deployment has been initiated we now can choose the Task sequence. In this example we will choose the one we made earlier.
Now we can provide additional details about the device. After that the deployment will start.
After a couple of minutes, the computer will be ready to use. Basically, that is it – you will now have fully functioning bare-bones MDT environment. What now? The world is your oyster. Now you can experiment with MDT, research all the possible options and customization within the software.
Another thing to address – all of the previously mentioned software is free to use (not taking into account of Windows OS licensing). As a free download, this is a tool certainly worth evaluating. The potential benefits include time savings, greater end user empowerment, and overall simplification of administrative tasks.