I have several questions\statements:
- How are you deploying the OS? SCCM OSD? Disk Cloning? Cloning is a deprecated way to deploy and OS, you should really look into Microsoft Deployment Toolkit to capture and deploy an image if it's a small shop. Another important cloning step you have not mentioned is SYSPREP, so make sure you are doing that or you will run into issues with system having duplicate GUIDs.
- Most of the items you are configuring are typically managed by Group Policy (e.g. firewall, startup and recovery,IE settings, etc. )
- Setting the memory to 1.5 times the installed memory is a deprecated ideology from Window NT 4.0. Windows has gotten better at managing memory and it's recommended to let Windows manage memory. Do you really need to make that modification?
-
Windows is typically activated with a KMS server. If a client isn't activating, then you can reset the client KMS components with slmgr.vbs (see: http://technet.microsoft.com/en-us/library/ff793406.aspx)
I've deployed OS's at a lot of companies and I think you should really look into MDT or other deployment technologies and group policy management. 90-95% of your item list would not be managed with a script when deploying an OS with a typical Operating System Deployment (OSD) infrastructure in place. MDT requires no licensing if cost is a consideration.