- How to create a PowerShell alias - Tue, Jul 29 2014
- System Center Updates Publisher – Create a SCUP catalog - Fri, May 23 2014
- System Center Updates Publisher – Third-party patch management - Wed, May 21 2014
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.
Check | Action/task | Expected result |
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
Read the latest IT news and community updates!
Join our IT community and read articles without ads!
Do you want to write for 4sysops? We are looking for new authors.
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.
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….)