Windows DeploymentLife Cycle
In my organization, we had an annual refresh for faculty laptops that needed to be accomplished before the start of the school year. More often than not, our purchasing was done after July 1st because of our annualized budget (new fiscal year). This often pushed our deadlines close to the start of school leaving me with just a week to deploy a mass amount of Chromebooks and Faculty Laptops.
With only a week before ‘back-to-school’ week, I needed to develop a streamlined approach to processing 50+ laptops with minimal manual intervention for both me and the end-user. For new end-users, this was easy because I could login manually with their temp credentials and set everything up for the first time. For senior faculty, I had to have them sitting next to me before we deployed.
Knowing that the deadline was approaching, the purchase order was submitted and the tracking information was in hand; I needed to start developing my new image for the year. Regardless of the system I wanted to implement, I needed an image to work from. A list of software applications and pre-configured configuration files ready to go. With the vast amount of software deployments, scripts, and logos that I deploy, I decided to implement a hidden folder within the image to save on download bandwidth for the 50+ laptops. That’s right, a folder that only device admins could access that housed all drivers, updated installation packages, and file share scripts ready to go! The only thing that was needed was the end-user’s credentials at time of deployment.
[Solution – 2015]
With a limited budget, an old Kanguru (physical cloning device), I was limited. I decided to build a custom image for each PC type that we supported. I believe, at the time it was an HP 8460p and a Toshiba R700. So, not bad. Two images needed to be created and our Kanguru had 3 working bays. This meant that I could image 3 hard drives at a time; which usually took about two hours per run. This mean that I would need 33 hours of actual time imaging. Not terrible. Here’s my schedule:
|4pm (end of day)||3||3||3|
That’s right. Majority part of a week (3.3 days) to deploy 50 laptops. Considering that I only needed 1 week to complete the job, this wasn’t bad. However, it did not consider an issue happening mid-week!
Here’s a Kanguru for those of you that have never seen one: (ours only had 3 working bays)
[Solution – 2016]
That’s right, after one year of usage, the Kanguru failed on us. Even worse, our budgets were even tighter than before; so we couldn’t afford another one. I had to do some research.
After about a week of testing various software applications, hardware options and judging stability, I settled on MDT with WDS (Microsoft Deployment Toolkit with Windows Deployment Services). In 2016 I started my server virtualization project, which for me, meant that I had extra space to support a fresh MDT & WDS deployment VM on one of my host machines. I installed Windows Server 2012 R2, installed the WDS service and MDT packages.
After that, I built out the necessary images with all applications pre-installed, basic drivers installed, and scripts pre-injected! I was feeling extremely confident, decided to grab a few network switches, a butt load of patch cables and started setting up the entire shipment of laptops for immediate deployment via PXE.
That’s right, 12 laptops all at once baby! The entire process took about 15 minutes to PXE boot, sign into the WDS dashboard, select an image and clone! I had finally achieved deploying all 50 laptops in a single day. I actually remember, still, having extra time in that day and not knowing what to do with all the extra free time.
[Solution – 2019] (Current)
Now that our summers are slowing down (finally catching up on the 10 years of infrastructure neglect), we have more than a week of time available to deploy images. On top of that, I’m now Director of Technology and realized that my vendors trust me enough to do net 90 on our PO’s. This means that I can submit my orders in May and have them arrive well before the ‘Back-to-School’ week in early August.
Our new platform is Macrium Reflect. We take an image from a VM that we maintain year round with updates, version updates, software installations, wallpapers, security changes, etc… sysprep the machine, capture a backup and then deploy it to each device as needed. The entire deployment process takes about 15 minutes, which puts us right between the first and second solution, but it gives us greater control over the image. Did I mention that we can also take the image from Macrium and deploy it with PXE and USB? Yeah, we can have the speed again – if we want. But for now, we prefer the flexibility and granular configurations.