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.
|1||Hardware verification||Hardware meets minimum specification|
|2||OS verification||OS is valid|
|3||Domain verify||Meets 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.
|Check||What to check||Why to check||Avoids this risk|
|1||Vendor (make)||Limit the deployment to machines the organization supports||Building a visitor/guest laptop|
|2||Model (is in list)||Limit deployment to known hardware models||Building unsupported hardware|
|3||RAM greater than x||Some OS versions won’t install||Deployment abort if machine is not up to specifications|
|4||Disk type (HDD is not RAW)||Disk has to be NTFS||Deployment abort if disk is encrypted or is in bespoke OEM format|
|4a||Disk free space||Target disk has free space||Data migration failure later|
|4b||Disk total size||Target disk is big enough for new OS||Deployment failure|
|4c||Disk SMART health||Establish target disk is reliable||Target disk failure|
|5||CPU architecture||Confirms whether CPU is 32- or 64-bit||Building 64-bit onto 32-bit machines|
|5a||Prefer disk in SATA mode||BIOS may be set to legacy mode||Running Windows on legacy|
|5b||Prefer BIOS boot HDD first!||Media builds need to boot off HDD||Deployment looping|
|6||Boot count (MDT)||Target may have multiple boot||Overwriting the wrong drive|
|7||AC power (not battery)||Laptops need PSU||Shutting down of laptop while deploying if battery fails|
|8||Network||Network connect||Building 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.
Custom UDI for XP deployments