Being able to quickly deploy a virtual machine from a template and be able to quickly update your template can greatly ease administration. Here is a quick "How-To" on creating a Windows 2008 R2 Template that is fine tuned for performance and a Golden Image in Virtual Center:

<!--more-->

1. In Virtual Center create new VM

2. Custom Config

3. Type in the name of the template: “Microsoft Server 2008 R2 Template”

4. Select the proper datastore

5. Ensure the Guest OS is “Microsoft Windows” and ensure the version is Microsoft Windows Server 2008 R2 (64-bit)

6. 1 vCPU

7. 4 GB RAM

8. 1 NIC; LAN Network, E1000 adapter, Connect at Power On

9. LSI Logic

10. 50 GB hard drive

11. Finish

12. Go to VM and edit settings

13. Options Tab&gt;General, Uncheck “Enable Logging”

14. Boot Options, Check the box to Force BIOS upon next boot

15. In the BIOS go to the Advanced Tab &gt; I/O Device Configuration and DISABLE the following:
<p style="padding-left: 30px">&gt; Serial Port A</p>
<p style="padding-left: 30px">&gt; Serial Port B</p>
<p style="padding-left: 30px">&gt; Parallel Port</p>
<p style="padding-left: 30px">&gt; Save &amp; Exit the BIOS</p>
16. Go back to VM Edit settings, attach the server 2008 R2 ISO file and install the OS

17. Once installation is complete, set the administrator password at the prompt

18. Disconnect the ISO file (in VM edit settings)

19. Set the time zone

20. Install VMware Tools&gt;Custom Install Type&gt;Disable Shared Folders

21. Once Tools are installed select no on the reboot, and in the systray go to VMware Tools Options&gt;Check the box for Time Synchronization between the VM and ESX server

22. Reboot

23. Login and go to Network Adapter Properties&gt;Power Management Tab&gt;Uncheck “Allow the compute to turn off this device to save power”

24. Go to Server Manager&gt;Turn off IE Enhanced Security Configuration

25. Configure Windows Updates&gt;Download Important Updates but let me choose whether to install them&gt;Uncheck “Allow user to install updates on this computer”

26. Run Windows Update and ensure machine is fully patched, reboot server

27. Go to Server Mananger&gt;Configure Remote Desktop&gt;select “Allow connections from computers running any version of Remote Desktop”

28. Edit the taskbar
<p style="padding-left: 30px">&gt; Unpin Powershell from taskbar</p>
<p style="padding-left: 30px">&gt; Customize the taskbar to “Always show all icons &amp; notifications to the taskbar”</p>
<p style="padding-left: 30px">&gt; Lock the taskbar</p>
<p style="padding-left: 30px">&gt; Go to Server Manager&gt;Change System Properties&gt;Advanced Tab&gt;Performance Settings&gt;Adjust for Best Performance</p>
<p style="padding-left: 30px">&gt; Next click on Virtual Memory Change button&gt;Uncheck “Automatically manage paging files size for all drives&gt;Select custom size&gt;Enter in “Recommended” settings in both Initial &amp; Maximum boxes (in my case 5758 MB) and click OK&gt;Reboot</p>
<p style="padding-left: 30px">&gt; Go to Folder Options &gt; View Tab &gt; make the following changes:Select “Show hidden files, folder, &amp; drives</p>
<p style="padding-left: 60px">* Uncheck “Hide extensions for known file types</p>
<p style="padding-left: 60px">* Open IE and go thru wizard, set up homepage to <a href="http://www.google.com/">www.google.com</a></p>
<p style="padding-left: 60px">* Go to Computer&gt;Right-Click on C: Drive and uncheck “Allow files on this drive to have contents indexed” &gt; Select Apply changes to C: drive and its subfolders (Ignore messages)</p>
<p style="padding-left: 60px">* Completely turn off User Account Control (move slider to lowest setting)</p>
<p style="padding-left: 60px">* Go to Power Options&gt;Select “High Performance”</p>
<p style="padding-left: 60px">* Disable Hibernate&gt;type in <strong>powercfg.exe –h off</strong> at the command prompt</p>
<p style="padding-left: 60px">* Create unattend.txt file in cwindowssystem32sysprep</p>
<p style="padding-left: 60px">* Paste in the following code, then change the file to .xml</p>

<pre><strong>&lt;?xml version=”1.0” encoding=”utf-8”?&gt;</strong></pre>
<pre><strong>&lt;unattend xmlns=”urn:schemas-microsoft-com:unattend”&gt;</strong></pre>
<pre><strong>&lt;settings pass=”specialize”&gt;</strong></pre>
<pre><strong>&lt;component name=”Microsoft-Windows-Shell-Setup” processorArchitecture=”amd64” publicKeyToken=”31bf3856ad364e35” language=”neutral” versionScope=”nonSxS” xmlns:wcm=”http://schemas.microsoft.com/WMIConfig/2002/State” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”&gt;</strong></pre>
<pre><strong>&lt;RegisteredOrganization&gt;Your Organization Name&lt;/RegisteredOrganization&gt;</strong></pre>
<pre><strong>&lt;RegisteredOwner&gt;Your Registered Owner&lt;/RegisteredOwner&gt;</strong></pre>
<pre><strong>&lt;CopyProfile&gt;true&lt;/CopyProfile&gt;</strong></pre>
<pre><strong>&lt;/component&gt;</strong></pre>
<pre><strong>&lt;/settings&gt;</strong></pre>
<pre><strong>&lt;cpi:offlineImage cpi:source=”wim:f:/sources/install.wim#Windows Server 2008 R2 SERVERSTANDARD” xmlns:cpi=”urn:schemas-microsoft-com:cpi” /&gt;</strong></pre>
<pre><strong>&lt;/unattend&gt;</strong></pre>
 

And lastly, 

29. Go to the command prompt and type in the following:
<p style="padding-left: 30px"><strong>c:windowssystem32sysprepsysprep.exe  /generalize /unattend:unattend.xml</strong></p>
30. OOBE&gt;Check Generalize&gt;Shutdown

31. In Virtual Center&gt;Clone the powered of VM (convert the clone to a template)