Before you deploy a new Windows image, you should always perform a few preflight checks. This article gives an overview of the topic. In the next article, I discuss a script that helps you with this task.

What are preflight checks?

When you start a Windows deployment, once you are happy with the image it’s time to deploy it. However, there are quite a few obstacles to overcome that can stop your deployment at the first hurdle. For instance, what if the target disk is encrypted? Deployments only work with NTFS owing to the use of WinPE, so deployment will fail unless you format the disk. There is a whole list of prerequisites to think about. The main areas to address before deploying an OS to a machine are listed in Table 1 - Requirements overview.

CheckAction/taskExpected result
1Hardware verificationHardware meets minimum specification
2OS verificationOS is valid
3Domain verifyMeets authorized domain

Table 1 - Requirements overview

Check 2 is a good example of avoiding disaster. If you were using SCCM and someone clicked the wrong button and advertised your XP deployment to all machines, including servers, check 2 suddenly becomes a lifesaver.

Check 1, hardware verification, covers the biggest list of potential obstacles. A sample list of hardware checks you can make is shown in Table 2 - Detailed hardware requirement checks.

CheckWhat to checkWhy to checkAvoids this risk
1Vendor (make)Limit the deployment to machines the organization supportsBuilding a visitor/guest laptop
2Model (is in list)Limit deployment to known hardware modelsBuilding unsupported hardware
3 RAM greater than xSome OS versions won’t installDeployment abort if machine is not up to specifications
4Disk type (HDD is not RAW)Disk has to be NTFSDeployment abort if disk is encrypted or is in bespoke OEM format
4a Disk free spaceTarget disk has free spaceData migration failure later
4b Disk total sizeTarget disk is big enough for new OSDeployment failure
4c Disk SMART healthEstablish target disk is reliableTarget disk failure
5 CPU architectureConfirms whether CPU is 32- or 64-bitBuilding 64-bit onto 32-bit machines
5a Prefer disk in SATA modeBIOS may be set to legacy modeRunning Windows on legacy
5b Prefer BIOS boot HDD first!Media builds need to boot off HDDDeployment looping
6 Boot count (MDT)Target may have multiple bootOverwriting the wrong drive
7 AC power (not battery)Laptops need PSUShutting down of laptop while deploying if battery fails
8 NetworkNetwork connectBuilding over wireless (not a good idea)

Table 2 - Detailed hardware requirement checks

With MDT 2012, Microsoft has introduced the User Driven Interface (UDI) wizard that attempts to prepare machines for deployment running checks. Underneath the new wizard are some VBScripts that check various requirements. Unfortunately, UDI only supports Windows 7 (not XP). So I’ve written my own XP UDI script. The next article shares the script and its design. See this script in action in Figure 1 - Custom UDI for XP deployments.

OSD Preflight checks

Custom UDI for XP deployments

  1. Avatar 12 years ago

    Hardware make and model check is necessary to ensure that image(or build routines) has required drivers for hardware. But I feel it is less useful for mitigating risk of building guest/visitor laptops with corporate image. One can avoid this by implementing delegation so that only build-administrators will be able to build the computers– no one else.

    Is this UDI on windows 7 uses Vbscripts for verifying the configuration? I wish they move to Powershell 🙂

    Thanks for the informative article.

  2. Avatar
    Dustin 12 years ago

    You can add your own PowerShell Pre-Flight checks to the UDI Wizard as you please. Just tell it the filename (point to powershell.exe) and give it the parameters (-NoProfile -file….)

Leave a reply

Your email address will not be published. Required fields are marked *


© 4sysops 2006 - 2023


Please ask IT administration questions in the forums. Any other messages are welcome.


Log in with your credentials


Forgot your details?

Create Account