Windows Systems consider doing this:
Create the "gold" machine, get everything like you want it.
Use Sysprep: Run this command from from cmd.exe; sysprep -reseal
Copy and paste the syspreped files for each new VM
Boot, configure, and enjoy.
This is essentially what I do with ESX4 (I have about 100 Windows VMs across 4 servers and 2 SANs). Except on step 3 I convert the VM to a template, and deploy all new machines from the template.
Linux Systems consider this:
Create the "gold" machine, get everything like you want it.
Create a script that resets hostname, IP address, etc. (leave it on the system)
Copy and paste the files for each new VM
Boot, configure, and enjoy.
This is more of a process than a technology. But if you want something simple, this should be sufficient. Later when you feel that you need to start scaling, look into puppet or other automation tools that may help.
Works For Me(tm).