Automate configuration of Windows computers without disk imaging

Here at work we configure Windows machines to use some custom software. Is a long, tedious and error prone task, that must be done without imaging because the hardware configuration changes greatly from machine to machine, we even receive lots of computers from clients to configure them.

The configuration steps involve creating users, modifying desktop appearance, enabling and disabling things from the system and finally installing software.

Is there any way to automate these actions, or at least some?


Solution 1:

You need to look at the Windows Automated Installation Kit, and if you are using Windows Server and Windows Deployment Services or System Center Configuration Manager, which would make things a lot more efficient, the Microsoft Deployment Toolkit as well.

Solution 2:

Creating users: this can certainly be automated. The NET USER command is one option, or if you prefer an API, NetUserAdd.

Installing software: this depends on the software. Anything packaged as an MSI can be easily installed via the msiexec command. Some non-MSI installers have their own quiet mode support. Another option is to script the installer using Windows messages; I have some code that might help with this, but it's an awkward approach so best left as a last resort.

Modifying desktop appearance: some settings can be changed by modifying the registry. Looking at group policy settings is often a good start. It really depends on exactly what you want to change.

"enabling and disabling things from the system": it depends. You're going to need to be much more specific.