To start – I’m using Windows Server 2012 R2 Standard in Hyper-V. You need to use Server if you want to utilize Windows Deployment Services for PXE boot. You will also need to have DHCP and DNS in your environment. It will be best if DHCP and DNS are not hosted on the server you will be using for MDT and WDS.
Boot up your Server:
You will need to download the MDT setup and the ADK setup files. They are provided for free from Microsoft:
Installing Microsoft Deployment Toolkit 2013 Update 2
Once you’ve downloaded the setup files, launch the MDT setup:
The install wizard will open. Click Next.
Accept the License Terms.
Accept the Defaults on “Custom Setup” and select Next.
Select “I don’t want to join the program at this time.” Select Next.
Select “Install” to complete your installation. Click Finish when done.
Installing Windows Assessment and Deployment Kit
Now: launch the adksetup.exe file to install Windows 10 ADK.
On the “Specify Location” screen, accepts the defaults and hit Next.
Make your selection on “Windows Kits Privacy” and hit Next.
Accept the License Agreement.
On “Select the features you want to install” check:
Windows Preinstallation Environment (Windows PE)
Imaging and Configuration Designer (ICD)
User State Migration Tool (USMT)
Windows Performance Toolkit
Let setup download and install the files. Click close when it’s completed.
Create Deployment Share Locations
MDT will create Deployment Share Folders for you when you create a new Share, but I like to setup my own folders and shares manually. Open Windows Explorer, and create a folder structure somewhere you’ll remember. In my example, I created a the directory “MDT Shares” in the C:\. I then created my actual storage locations as Subdirectories within. I’m using “Deploythis” as the name of my folder.
Right-Click and pull up the Properties for your folder. Click on “Sharing” and “Advanced Sharing”. Select “Share this folder” and add a “$” to the name. Mine becomes “Deploythis$”. Make sure that “Everyone” has read permissions in sharing.
Click on “Security” and make sure that Domain Admins has Modify rights.
If you search for “Deploy” from your Start Menu, you’ll see “Deployment Workbench”. This is the MMC that we use to interact with MDT and our Shares.
When you first open the Deployment Workbench, things will be pretty sparse:
Let’s create a Deployment Share using the folder we created. In the right pane, select “New Deployment Share”
In “Deployment share path:” type the path to your shared folder or use Browse to select it. (Mine was C:\MDT Shares\Deploythis). Click Next. Click Next again on Share because we’ve already shared our folder and set permissions.
Give your Deployment Share a Descriptive Name. This is what you’ll use to identify your share in Deployment Workbench. I’ve simply named mine “DeployThis”
Deselect all items on the “Options” screen. Click Next through the remaining screens to complete the wizard.
Now you can see your deployment share listed under “Deployment Shares” using the Descriptive Name you assigned, as well as the folder’s path. Expand your Share by click on the arrow just to it’s left.
Importing Windows 10 into MDT
Make sure you have a copy of Windows 10. I’ve had no luck using the ISO files generated with the Media Creation Tool, so I download my ISO files directly from the Volume License Service Center.
Mount your ISO in File Explorer. If you’re using Server 2012 R2, all you need to do is double-click your ISO and it will mount it in a Virtual Drive for you.
In Deployment Workbench, Right-Click on “Operating Systems” under your Deployment Share, and select “Import Operating System”
Select “Full set of source files” on the OS Type screen. Click Next.
On the Source page: Input the path to your Windows 10 Install Media – Or use Browse to locate it using File Explorer. I’ve extracted the contents of the ISO file, so I typed the path to the folder containing those contents.
On Destination: Give your OS a Descriptive Name so that you can identify it.
Click Next through the remaining Wizard screens until it’s completed. Close the Wizard. You will now see your Windows 10 listed under Operating Systems.
Basic Out-of-Box Driver Folder Structure
In Deployment Workbench, right-click on “Out-of-Box Drivers” and create New Folder. Create a folder structure to easily organize drivers per Model and Manufacturer. I like to create a “WinPE” drivers folder with a subfolder for each Manufacturer under it. Then I create another Parent folder for each Operating System. Under that, I create a folder for each Model of machine I’m deploying to. This is what mine looks like. We’re not going to delve into Driver Management in this tutorial, but I’ll cover that soon.
If you’re going to test deploying to actual workstations, make sure you download the drivers for them.
You’ll need the WinPE 10 Driver Pack for the Manufacturer of your Machine. Then you’ll want to download the Windows 10 x64 driver pack for each model of machine you have. You’ll need to place each driver pack in it’s own folder before you can import them into MDT. HP and Lenovo give you self-extracting archives that you must extract into the folder you desire on your computer. Dell gives you CAB files that you simply place into a folder.
Once you have your drivers extracted and placed into a folder for each driver pack (Dell WinPE in 1 folder – Dell Latitude E5450 in 1 folder – Latitude E5470 in 1 folder, etc) you’ll right click on the corresponding Out-of-Box Driver folder and choose import drivers. Simply point the wizard at the folder on your machine where you placed that driver pack, select to import duplicate drivers, and choose next to let the wizard complete.
Create a Task Sequence
Task Sequences are the meat and potatoes of MDT. They define the actions that you want taken. For now, we’ll create a basic Task Sequence to deploy Windows 10 to machines.
Right-Click on “Task Sequences” and select “New Task Sequence”.
The Wizard will open. Give your Task Sequence an ID and a Name. Click Next.
Select “Standard Client Task Sequence” and Click Next.
Select your Windows 10 Operating System and click Next.
For the purposes of this demonstration, we’ll use “Do not specify a product key at this time”. If you’re deploying production machines, you’ll want to obtain your MAK key from the Microsoft Volume License Service Center and enter it in the “Specify a multiple activation key (MAK key) for activating this operating system.” Once you enter your MAK, you’ll notice a red warning icon next to the key. Just click on the Wizard screen a couple times and it will go away. Click Next.
On “OS Settings” you have to specify an Organization. Set the other fields as you desire and click Next.
Choose to “Use the specified local Administrator password.” for now and enter your desired local admin password in both fields. Click Next.
Click Next through the remaining screens of the Wizard and close it when completed.
Set Deployment Share Rules and WinPE Options
Right-Click on your Deployment Share and choose “Properties”.
The Properties window will appear. In the General Tab, let’s remove the check next to x86 under “Platforms Supported” since we imported Windows 10 x64 only.
The Rules Tab is where you can easily configure your customsettings.ini properties and your Bootstrap.ini properties. This is what it currently looks like. Replace the rules with the options below the screenshot.
These rules will tell the LiteTouch Deployment Wizard to skip several screens such as Language and Time selections to make for a quicker deployment. There are several options that can be set here. I will cover more at a later date. DeploymentBunny and MDTGuy have some incredible documentation about customsettings.ini.
[Settings] Priority=Default Properties=MyCustomProperty [Default] OSInstall=Y SkipCapture=YES SkipUserData=YES SkipAdminPassword=YES SkipProductKey=YES SkipComputerBackup=YES SkipBitLocker=YES Home_Page=http://www.osdgeek.com OSDComputerName=OSDGEEK-LAB JoinWorkgroup=WORKGROUP NetworkLocation=Work KeyboardLocale=en-US UserLocale=en-US UILanguage=en-US SkipApplications=NO SkipTimeZone=YES SkipLocaleSelection=YES SkipRoles=YES TimeZone=004 TimeZoneName=Pacific Standard Time SkipBDDWelcome=YES SkipFinalSummary=YES FinishAction=REBOOT _SMSTSOrgName=Running %TaskSequenceID% on %OSDComputername%
Note – the last 3 options for Drivers will only function correctly if you setup your driver folders like mine and named the Machine Model folders exactly as WMI reports them. You can run this simple command from Command Prompt to find your model:
wmic computersystem get model
Now that we’ve set our Rules, Click on “Edit Bootstrap.ini” to open the file in Notepad. Replace the contents with the information below the screenshot.
[Settings] Priority=Default [Default] DeployRoot=\\SERVERNAME\Deploythis$ (Replace with UNC Path for your share) KeyboardLocale=en-US SkipBDDWelcome=YES
Click File and Save in the Notepad Menu. Then Close Notepad.
Next, Move onto the Windows PE tab. When it first opens, the Platform with be x86. Remove the checkbox next to “Generate a Lite Touch bootable ISO image. Change the Platform to x64. I like to set my “Scratch space size” at 512.
Click on the Monitoring Tab. Select “Enable monitoring for this deployment share”. Click “Apply” and “OK” to close the Properties Window.
Update Deployment Share to generate Boot Media
In Deployment Workbench, right-click on your Deployment Share and choose “Update Deployment Share”.
Select all the defaults and click next through each screen.
Install the Windows Deployment Services Role on your Server
Open Server Manager. On the dashboard, choose “Add roles and features”.
Click next through the first three pages of the wizard.
On the “Select server roles” page, scroll down and select “Windows Deployment Services”
Click on “Add Features”
Click Next through the remaining screens, accepting all the defaults.
Configure Windows Deployment Services (WDS) to provide PXE boot for MDT
Search for “Deploy” on your start menu and open Windows Deployment Services.
Expand the “Servers” container. Right-Click on your server and choose “Configure Server”
Select Next on this screen.
Choose “Standalone server”
Accept the default for the Remote Installation Folder Location.
Choose “YES” to continue past their warning.
Choose “Respond to all client computers (known and unknown)”. Click Next.
Uncheck the “Add images to the server now” and click Finish.
Expand your server and click on “Boot Images”. Right-Click and select “Add Boot Image”
Point the File Location at your MDT boot media. In your deployment share folder, it will be in \Boot\. Mine is C:\MDT Shares\Deploythis\Boot\LiteTouchPEx64.wim
Give your Boot Image a descriptive name if desired.
Click Next on the Summary.
Let the Wizard finish adding the boot media.
Congratulations! You now have a basic Deployment Server setup. You can boot a client machine or VM using PXE in their boot options and deploy Windows 10!
If you add new drivers to your share, you will need to update your deployment share in Deployment Workbench. After that, you will need to open Windows Deployment Services and select your “Boot Images”. Right-Click and disable the existing boot image and then follow the procedure to Add boot image again.