This is all pretty out of date now, I originally built this deployment back in like 2008 and maintained it until about 2014. It’s still running on my network, but it’s not been used in ages, I only have one PC left in the house running Windows, everything else is on Linux now since about 2019 (which I also maintain PXE boot images of, but not using my custom OS deployment scripts).
The PE based deployments are unchanged since 2014, but in 2019 I added some PXE options for even older Legacy OS installs, DOS, DOS/Win3.1, Win95, Win98, and Win2k, I use these on my PXE capable vintage PCs, or to image virtual machines.
This is only here for historical reference now:
I have built from scratch a PXE Network OS Deployment server, it relies upon linux DHCP/PXE/TFTP server, Custom Windows PE WIM image, SEVERAL home-spun AutoIT, VBS, and batch scripts, a custom home-spun Visual Basic 6 Menu (.NET apps WON’T run under PE), and a whole lot of time building it.
Currently I have deployments built for Windows XP Pro, XP Tablet, Windows 7 (all 32&64bit), and Windows 8 Pro (testing).
After the OS image deploys, there is a POST install script that runs and loads a slew of free programs such as Acrobat Reader, Chrome & Google Drive, .NET, Firefox, G.I.M.P., LibreOffice, MediaPlayer Classic, MS Security Essentials, PDF Creator, VLC, and WinRAR.
The POST install script also checks a database for the serial number of the PC and can apply additional settings, such as joining my domain, renaming the PC, and Activating Windows. If the serial number is NOT in the database, it will assume it is a “customers” PC and it will not join the domain or activate windows and will rename the PC to a combination of the “Make and Model” of the PC retrieved from WMI. The last step is to enable Windows Update, and attempt to force install updates, though some customer PCs may not have NIC drivers loaded to do so, so this step may fail and is scripted to do so gracefully.
If computers are joined to my domain, upon first login they will have installed, by login script, all of my networked printers and a desktop icon to “Install New Software”. My “Install New Software” icon launches a custom application which will read the currently logged in user’s AD memberships, and automatically install which ever programs are in their memberships.