Recently, we had a client who needed to setup 30+ laptops for their employees. The plan for this client is that once all of these laptops are deployed, we can have a couple of imaged laptops ready to deploy at a moment’s notice. They’ll already have the standard apps necessary installed and we can spend just a few minutes customizing it for the particular user and overnight it to them. This is a handy backup plan to get a remote user online quickly in the event of a major problem on their machine. Now, anyone who has ever setup a single computer knows that it isn’t very difficult to setup one, if you know what you are doing. You boot up the computer, install your software, setup your settings how you like them, etc. You might spend an hour or two setting up a new computer and then you are good to go. Not too hard, right? Well, imagine having to do that for 30+ laptops! Even with the best tech who knows exactly what they are doing and installing, manually installing those programs and settings will take many, many hours. Think three to five business days where that is all that tech can do. This, simply, isn’t acceptable when you have a business to run and support. So, what to do? Enter, Windows Deployment Services.
So, what is this Windows Deployment Services and what can it do for you? Windows Deployment Services (WDS) is a set of tools developed by Microsoft to address our exact issue. Simply, it allows you to setup one computer with as a sort of “template” and then create an “Image” of the computer. Now, this isn’t an image in the sense of a photograph but there are some parallels. A system image provides a sort of “snapshot” of the computer and how it exists at the moment the image is captured.
Now, the whole process of setting up WDS and configuring all its components is a bit too long for this blog, but I can give you a basic overview of how it works. Firstly, you setup your server to work as a WDS server. In windows 2008 (which we use), this is as simple as going into the server manager and selecting the WDS server role. Then, once you have done this you load in the images you need. You will need to have a boot image, a capture image (if creating an install image), and an install image. If you already have the install image, you won’t need to capture image as its only purpose is to create that install image. Once you get those uploaded to your server, you add them to the WDS server console so they can be used to boot and install the computer.
Unattended installation is key here. Using the Windows System Image Manager, you can create xml answer files that will allow the system to skip most or all user required input while installing. Most anything you can imagine can be automated. All the options are far beyond the scope of this blog, however, most any option can be found on the Microsoft TechNet site and there are websites dedicated entirely to unattended installation. The point is that having to attend to each computer as it is loading and having to click through all the options practically defeats the point of WDS. You want and need answer files. They are your friend!
So, once you get this all set up, PXE boot your computer and it should load up the Windows boot image you integrated into the server. Then, if you created the answer files perfectly, it should start loading the install image automatically. Now, you wait. When the imaging is done, you will be presented with a Windows Logon screen. Where you go from there, I leave up to you.
A few important things we discovered along the way. Firstly, if at all possible, set up the server, switch, and computers to be imaged, outside your primary network. Imaging takes up a great deal of bandwidth and will effectively flood the network. There is the option to do “Multicast Transmission”, however, you will need hardware to support this. When working on setting up your template computer, do your best to completely set up everything exactly how you want it before imagine the first time. This has to do with sysprep and the fact that you have to run the generalize option. Windows will only allow you to do this three times on any one image. So, if you do it once, any computer that image is sent to will only have two more times you can run generalize. This may also give you an issue if you have to rebuild your image on your template computer too many times. You have to log into the WDS server with a domain user to access the image to install. You must not have domain administrator privileges or your computer will be added to automatically, if possible. This isn’t a big issue if you plan to use those computer in that domain. We, however, were doing this for a client who had their own domain controller and we really did not want the imaged computer to be added to the domain of our server.
Again, this is just a broad overview of what can be done with WDS and some of the bumps in the road along the way. Should your company need to deploy a multitude of computers, all configured in similar fashion, just let us know. We have the experience, resources, and capability to prepare your deployment and make it work for you.