A few months ago we were searching for an alternative to the sometimes troublesome CleanSlate tool for wiping changes to a Windows system on reboot. I came across Panos Macheras’ Windows 7 SteadyState Solution Simplified! and found it pretty interesting.
A combination of MDT and AutoIT scripting, this tool does one thing very simply: It creates a Differencing Virtual Hard Drive (VHD) on every boot, and on every reboot, that VHD is wiped and replaced with a new on. A much more straightforward (not to mention cost effective) means of undoing potentially harmful user changes.
What you need to know:
- This solution requires some understanding of Microsoft’s Deployment Toolkit and was made to work with MDT 2013 specifically.
- Requires M. Niehaus’ CopyOEM MDT Script
- You’ll need a copy of AutoIT if you want to recompile the scripts.
Changes I’ve Implemented Here:
- Replaced command line scheduled task for VHD replacement with XML scheduled task: required to accommodate laptops as command line task scheduling does not allow for configuring the option to run script on battery
- Rewrote ConfigureSteadyState.exe and BootScriptSteadyState.exe to locate the drive which stores the VHD files. Drive letters were hard coded in original blog and this tended to vary on different machines. I believe the hard-coded drives where what started me on this journey.
Create a power scheme and scheduling system that will allow Windows 8 SteadyState pcs to reboot into their permanent drives for updates during maintenance periods.
I originally rewrote the AutoIT scripts in Windows Batch because I’m a terrible coder and I may put them up on my Win8SteadyState repository at some point.