I am new to posting in this forum (although I have browsed it quite a bit). I have received an (unpaid) internship to provide IT support for K-12 public schools in rural California.

One of my first tasks may be to deploy Windows 7 to a fair number of networked computers. Some of them will be new; some of them will be used computers with wiped hard drives.

I am hoping to find a tool that can do the following process:

  1. PXE boot the machines to be deployed from a server.
  2. The server sends the machine a bare Windows 7 image (essential drivers only, no additional software programs), and the machine installs it.
  3. After the machine has installed Windows 7, it contacts the server again and transmits some kind of unique machine identifier (such as the MAC address of the Ethernet card). The server contains a database of these identifiers, which for each MAC address tells the model of the computer, which drivers need to be installed, which applications/scripts should be installed, etc. The machine then downloads the appropriate software from the server and does an unattended install of it.

I have tons of experience installing Windows from the disk, but I have never done a large deployment of any kind. I am trying to do some research on a tool that will automate Windows deployment and would appreciate any expertise you can offer.

For this task, I considered building a "master image," using Sysprep, cloning the image onto the remaining computers, and then making any changes by hand.

However, this "master image" approach would not offer much flexibility. Say for example, there are different models of computers (requiring different drivers), and different categories of systems (student vs. teacher systems, middle school versus high school) which may have different requirements.

Could anyone please recommend a tool that can help with a "modular" deployment like I outlined? Either a product you have used, a product you know of, or even a product you sell?

Free is preferred but if you have information on paid tools I would appreciate this too.

A bonus would be if the product supports a "hierarchical" configuration. For example, I would operate the system through a server located in a central office. That server would send information out to servers located at individual school sites (via the Internet), and those servers would PXE boot their clients via LAN.


Any recommendations you can provide will be greatly appreciated! I don't know what tools are already being used, but I would like to have some familiarity with what tools are on the market so I can do some research on them and be knowledgeable about them.

  • 1
    As Pat pointed out below you can use MDT and SCCM, but you can't do point 3 in that order. In fact at that point the Ethernet card might not even work inside windows. Take a look at that this guide for everything MDT related. Part 27 is all about drivers windowsnetworking.com/articles-tutorials/windows-7/… – Drifter104 Jul 2 '15 at 8:30
  • 1
    MDT is free; SCCM is not. What's your budget? – Michael Hampton Jul 2 '15 at 14:59

Your scenario becomes restrictive when considering point 3. Your main options are:

  1. MS MDT
  2. MS SCCM

In your case if you can compromise some flexibility (lets say defining only 5 or 6 different configurations) you could use easier tools i.e. Serva (I'm related to Serva development)

| improve this answer | |

Your scenario is exactly what customsettings.ini in MDT is designed to address. You can create deployment share rules in MDT that automatically pick a task sequence and/or driver profile during deployment. This is done via identifiers like the computer model or MAC address. See Configure MDT Deployment Share Rules.

I’d really suggest reading over the Surface Pro 3 Deployment and Administration Guide’s deployment section. It is a very comprehensive step-by-step deployment guide that shows how to use customsettings.ini to select a task sequence based on model. It also shows how to prepare a minimal image for maximum hardware compatibility and how to organize drivers for multiple makes/models of computer.

Another thing to note is that you could simplify the MDT deployment if desired. Let’s say you have a half dozen configurations (application combinations) that get deployed one for teachers, one for lab PCs, one for school admins, etc. You could create a deployment share that has all of the applications imported and a task sequence for each configuration. You could then copy that deployment share, import the drivers for a specific make/model of computer and deploy that make/model with the desired configuration. Then you delete the model specific deployment share, create a new copy of the original share, and go again for the next make/model. Deployment shares are very simple and granular. You can use the bits and pieces you need, or use the whole toolkit and automate everything.

| improve this answer | |

use MDT with a database for inventory (if required) you don't need a separate script or contract for various drivers or applications, you can use the hardware model identification built right into windows to determine the proper drivers and or system level apps. You don't install ANY drivers in the image using this model- simply add the drivers to the deployment. Additionally you can save bandwidth if you'd like using a litetouch deployment where the deployment is on the media- using the network just to get current patches. This book Deployment Fundamentals, Vol. 1: Migrating to Windows 7 using MDT 2010 Lite Touch and WDS will walk you thru the entire process as well as explain the options available.

This will also let you design the hierarchy if after understanding the task sequences you still want that functionality, depending on how often you change the base image, you may not need it or may end up with a litetouch deployment for the base image, removing pxe from the equation altogether.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.