My VMware View Win7 Optimization Guide

WoodiE

Limp Gawd
Joined
Jan 28, 2003
Messages
231
These are the few steps I do when creating a new "Golden" image. Luckily I don't have to do these steps all the time as I'll create the "Golden" image when there is a new upgrade such as when we went from View 4.6 to View 5.0.1. I like to have a new fresh machine using new virtual hardware from the start. You could certainly just upgrade the virtual hardware on the "Golden" image, I just prefer to start clean.

At any rate, here's my list. Hopefully someone might find it somewhat useful and maybe even others can improve upon it.

From My blog: http://miketabor.com/my-vmware-view-windows7-optimization-guide/


Preparing a new virtual machine

  1. Create New Virtual Machine - FILE > NEW > VIRTUAL MACHINE (CTRL+N)
  2. Under Configuration select CUSTOM.
  3. Select a Name, Folder, Host, Cluster, and Storage.
  4. Under Guest Operating System select Windows and then Windows 7 32bit under the Version drop down.
  5. Select which Network (VLAN) and under Adapter select VMXNET 3.
  6. Configure disk size to 30GB THIN provisioned.


Configure virtual machine hardware

  1. Right click on virtual machine and select Edit Settings.
  2. Change Memory to 1.5GB - 2GB. (anything over 3GB is a waste in 32bit Windows)
  3. Remove Floppy Drive 1.
  4. Ensure Network Adapter type is VMXNET 3.
  5. Click on OPTIONS tab and then General, UN-Check "Enable logging".
  6. Go to Boot Options and check "The next time the virtual machien boots, force entry into the BIOS setup screen.
  7. Power on virtual machine and open Console - virtual machine should be loaded into BIOS.
    1. Under MAIN, Legacy Diskette A: change to Disabled.
    2. Keyboard Features: change Numlock to ON.
    3. Under ADVANCED, I/O Device Configuration: disable all Serial, and Parallel ports, as well as Floppy Controller.
    4. Exit and Save Changes.


Installing Windows 7 (without System Reserve Partition and with 4k alignment)

  1. Boot from your Windows 7 installation media.
  2. After booting you see the Install Windows 7 screen, press Shift + F10 to open a command prompt.
  3. At the command prompt, type Diskpart, press Enter.
  4. Type List Disk, press Enter.
  5. Type Select Disk # (where # is the number your drive shows up as), press Enter.
  6. Type Clean, press Enter.
  7. Type Convert MBR, press Enter.
  8. Type Create Partition Primary Align=4096, press Enter.
  9. Type Format Quick FS=NTFS, press Enter.
  10. Type Exit, press Enter.
  11. Close the Command Prompt window.
  12. Click the "Next" button.
  13. Click the "Install now" button.
  14. Accept the terms and click the "Next" button.
  15. Choose "Custom: Install Windows only (advanced)."
  16. Click the partition.
  17. Click the "Next" button.
  18. From then on follow the on screen instructions till you get to the desktop.


Install VMware Tools


  1. Right click on virtual machine and select GUEST > Install/Upgrade VMware Tools.
  2. Restart virtual machine.


Windows 7 Optimizations

  1. Turn Off Hibernation
    1. Open Command Windows (CMD) as admin.
    2. Type powercfg -h off and press enter.
  2. Disable System Protection
    1. Open the Start Menu
    2. Right click Computer
    3. Click Properties
    4. Click System protection (it's on the left side)
    5. Select C:
    6. Click the Configure button
    7. Click "Turn off system protection" or adjust slider to desired size.
    8. Click OK
  3. Turn off Drive Indexing
    1. Open the Start Menu
    2. Click Computer
    3. Right click C: drive and select Properties and uncheck drive indexing
    4. Click apply (ignore all when comes up)
  4. Shrink Page File
    1. Open the Start Menu
    2. Right click Computer
    3. Click Properties
    4. Click Advanced System Settings (it's on the left side)
    5. Under performance click Settings
    6. Go to the Advanced tab
    7. Under Virtual memory click Change
    8. Uncheck the "Automatically manage paging file" box at the top
    9. Select the C: drive
    10. Click "Custom size"; initial size 512MB, maximum size 2048MB
    11. Click "Set"
    12. Choose Yes for the dialog box
    13. Click OK
    14. Click OK
  5. RESTART Virtual Machine
  6. Change Power Options
    1. Open the Start Menu, in the search line, type Power Options and press Enter
    2. Select the "High performance" power plan
    3. Click "change plan settings"
    4. Click "change advanced power settings"
    5. Expand the Hard disk option and change setting to "never"
    6. Expand the Sleep option and change setting to "never"
    7. Click OK
  7. Disable Prefetch and Superfetch (Possible leave on for presistent desktops)
    1. Open the Start Menu, type Services.msc, press Enter
    2. Scroll down until you see the "SuperFetch" entry
    3. Double-click on it, and choose "Disabled" from the list
      Next:
    4. Open the Start Menu, type regedit, press Enter
    5. Go to: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
    6. Double-click on "EnablePrefetcher" and enter "0" (default value is "3")
    7. Double-click on "EnableSuperfetch" and enter "0" (default value is "3")
  8. Disable Scheduled Defrag
    1. Open the properties for the C: drive
    2. Select the Tools tab
    3. Click Defragment now to display the Disk Defragmenter dialog box
    4. Click Configure schedule
    5. Un-check Run on a schedule checkbox
  9. Uninstall Tablet PC, Windows Gadgets, and Media Center
    1. Open Control Panel > Programs and Features > Turn Windows features on or off.
    2. Uncheck Media Center, Tablet PC, and Windows Gadgets.
  10. Install Windows Updates!
  11. Disable NTFS "Last Accessed" Option
    1. Open CMD as administrator
    2. Enter fsutil behavior set disablelastaccess 1 and press enter.
  12. Disable Windows Themes
    1. Control Panel > Personalization > Select Windows Classic.
  13. Set Run for Best Performance
    1. Right click on Computer and select Properties
    2. Select Advanced system settings
    3. Under the Advanced Tab, click Settings next to Performance
    4. Select "Adjust for best performance"
  14. Disable System Maintenance
    1. Control Panel > Troubleshooting > Change Settings and select OFF under Computer Maintenance.
  15. Disable Screensaver
    1. Control Panel > Personalization > Screen Saver and change to NONE.
  16. Disable Windows Sounds
    1. Control Panel > Personalization > Sounds > and change Sound Scheme to No Sounds.
  17. Disable Offline Files
    1. Control Panel > Sync Center > Manage offline files > Disable offline files
  18. Speed up the Menu Show delay time
    1. Open Regedit
    2. Go to: HKEY_CURRENT_USER\Control Panel\Desktop
    3. Modify MenuShowDelay from 400 to 1
  19. Extend Disk Time-Out Value
    1. Open Regedit
    2. Go to: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Disk
    3. Modify TimeOutValue to decimal value of: 200
  20. Disable Un-needed Services
    1. BitLocker Drive Encryption Service - No recommended to encrypt VDI machines.
    2. Block Level Backup Engine Service
    3. Desktop Window Manager Session Manager
    4. Disk Defragmenter
    5. Diagnostic Policy Service
    6. Home Group Listener
    7. Home Group Provider
    8. IP Helper - Only if IPv6 is not being used.
    9. Microsoft iSCSI initiator service
    10. Microsoft Software Shadow Copy Provider - Not needed since System Restore is disabled.
    11. Offline Files
    12. Security Center
    13. Superfetch
    14. Tablet PC Input Service
    15. Telephony
    16. Themes
    17. Volume Shadow Copy Service - Not needed since System Restore is disabled.
    18. Windows Backup
    19. Windows Defender
    20. Windows Error Reporting Service
    21. Windows Search
    22. WLAN AutoConfig
    23. WWAN AutoConfig



GPO Changes


  1. Disable success logins
    1. Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > Audit Policy
    2. Under Audit account logon events settings Properties select the Security Policy Setting tab.
    3. Select the Failure checkbox.
  2. Set maximum Event Log size
    1. Computer Configuration > Administrative Templates > Event Log Service > Specific Event Log
    2. Maximum application, security, and system log size = 1024
  3. Empty IE temp files
    1. User Configuration > Administrative Templates > Windows Components > Internet Explorer > Internet Control Panel > Advanced Page
    2. Empty Temporary Internet Files folder when browser is closed = Enabled
  4. Disabled IE First Run Customize Wizard
    1. User Configuration > Administrative Templates > Windows Components > Internet Explorer
    2. Prevent performance of First Run Customize settings - Enabled
  5. Disable RSS Feeds
    1. User Configuration > Administrative Templates > Windows Components > RSS Feeds
    2. Turn off background sync feeds and web slices = Enabled
  6. Disable Windows Slideshow
    1. User Configuration > Administrative Templates > Windows Components >Windows Slideshow
    2. Turn off Windows Slideshow = Enabled
  7. Turn off Build-to-Lossless feature
    1. Computer Configuration > Administrative Templates > Classic Administrative Templates (ADM) > PCoIP Session Variables
    2. Turn off Build-to-Lossless feature = Enabled
  8. Limit audio bandwidth
    1. Computer Configuration > Administrative Templates > Classic Administrative Templates (ADM) > PCoIP Session Variables
    2. Change Configure the PCoIP session audio bandwidth limit to 100
  9. Set PCoIP frame rate and image quality
    1. Computer Configuration > Administrative Templates > Classic Administrative Templates (ADM) > PCoIP Session Variables
    2. Maximum Initial image quality = 70
    3. Minimum Image Quality = Leave default
    4. Maximum Frame Rate = 15


VMware View Agent


Install the VMware View Agent last, only after all other optimizations, changes, software installs, etc have been completed. Once installed and the system rebooted, disable debug logs.

  1. Disable VMware Agent debug logs
    1. Open Regedit
    2. HKLM\Software|Vmware, Inc.\VMware VDM
    3. REG_SZ entries:
      1. DebugEnabled = False
      2. TraceEnabled = False
  2. Restart Virtual Machine

Upon spinning up a new "Parent Image" be sure to release the IP address on the master golden image, power down the virtual machine and clone the master golden image.

--

I personally don't install the Agent on my "Golden" image and only install the agent on my "Parent" image when creating a new View Pool. As a lot of times each pool will require totally different software packages, etc so then once those changes have been made on the "Parent" image I'll then install the agent.

Also note, there is a Command.bat file in the VMware Win7 optimize guide that does do some of these steps above for you. Just be sure you read each line to ensure you know what each line is doing and if it will work in your environment.
 
Last edited:
Nice write-up with great detail. I'll definitely come back to this when I start playing with View later this summer.
 
Very nice guide, you should start a blog and post this info there for more to see.
 
On a quick skim that looks like you covered everything (and then some) that I remember from the 4.6 optimization guides (haven't checked for any 5.0/5.1 ones as I haven't messed with View in a year). I will definitely bookmark this.
 
You could just run the provided script, you know. I think it gets 99% of that :p
 
Thanks guys for all the positive remarks. If anyone has anything to add I'd be happy to hear it!

You could just run the provided script, you know. I think it gets 99% of that :p

Yes as I stated above the script will do a number of the things that I've listed under "Windows 7 Optimizations", but also misses a number of things. More importantly I think which I've said is if you run the script or not I would recommend everyone to read each line of the .BAT file just as they would my post so they know exactly what the script is doing. The command.bat script is a handy tool for sure.
 

GPO Changes


  1. Disable success logins
    1. Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > Audit Policy
    2. Under Audit account logon events settings Properties select the Security Policy Setting tab.
    3. Select the Failure checkbox.
  2. Set maximum Event Log size
    1. Computer Configuration > Administrative Templates > Event Log Service > Specific Event Log
    2. Maximum application, security, and system log size = 1024
  3. Turn off Build-to-Lossless feature
    1. Computer Configuration > Administrative Templates > Classic Administrative Templates (ADM) > PCoIP Session Variables
    2. Turn off Build-to-Lossless feature = Enabled
  4. Limit audio bandwidth
    1. Computer Configuration > Administrative Templates > Classic Administrative Templates (ADM) > PCoIP Session Variables
    2. Change Configure the PCoIP session audio bandwidth limit to 100
  5. Set PCoIP frame rate and image quality
    1. Computer Configuration > Administrative Templates > Classic Administrative Templates (ADM) > PCoIP Session Variables
    2. Maximum Initial image quality = 70
    3. Minimum Image Quality = Leave default
    4. Maximum Frame Rate = 15

These Settings are a big variable i use different ones based upon my internet, this shouldnt be taken to heart but it is a good start that you did actually customize some of the variables but each setup really needs to tweak this to their environment/internet speeds.


VMware View Agent


Install the VMware View Agent last, only after all other optimizations, changes, software installs, etc have been completed. Once installed and the system rebooted, disable debug logs.

  1. Disable VMware Agent debug logs
    1. Open Regedit
    2. HKLM\Software|Vmware, Inc.\VMware VDM
    3. REG_SZ entries:
      1. DebugEnabled = False
      2. TraceEnabled = False


    Personally not a good recommendation from my perspective as this will destroy any ability to troubleshoot issues with VMware View. Yes it does reduce changelog but it also prevents good troubleshooting.


  1. added my 2Cents
 
dasaint, you are right on. This list of optimizations are not an end all be all setup. Far from it. What works for one certainly doesn't work for all.

That said, the majority of users... correct that, the majority of my users aren't using their VM's to view HD Videos, etc so having a frame rate of the default 30 really isn't needed. 15 fps is more than plenty when they are looking at MS Office products, Internet Explorer, etc.

In regards to the View Agent logs I'm very curious why you wouldn't want to disable this logging? Re-enabling is just as easy as disabling them except you change "False" to "True" in the event there "might" be a virtual machine issue. Surely if it's an issue, the issue will remain even after the change and a reboot... right?

Otherwise, just as VMware states these logs can, and many times DO take up to 10MB for each log. I've seen the log folder reach 100MB or more total. Not much for a single VM, but in my personal case I have nearly 500 VM's to manage. That's 50GB of storage being eaten up just for logs that I'll never look at.

I'd rather use that space for something I will actually use, like for more VMs and turn on the logs when they are actually needed.
 
What type of devices are you using for the thin clients?

Currently we are running HP T5545 and T5565. They are alright but nothing special. I personally would have liked to have gone with 10zig or WYSE but the powers that be did not agree.
 
dasaint, you are right on. This list of optimizations are not an end all be all setup. Far from it. What works for one certainly doesn't work for all.

That said, the majority of users... correct that, the majority of my users aren't using their VM's to view HD Videos, etc so having a frame rate of the default 30 really isn't needed. 15 fps is more than plenty when they are looking at MS Office products, Internet Explorer, etc.

If you want u could even go lower like 8-12 FPS if you are not doing video as per
http://www.vmware.com/files/pdf/view/VMware-View-5-PCoIP-Network-Optimization-Guide.pdf


In regards to the View Agent logs I'm very curious why you wouldn't want to disable this logging? Re-enabling is just as easy as disabling them except you change "False" to "True" in the event there "might" be a virtual machine issue. Surely if it's an issue, the issue will remain even after the change and a reboot... right?

Otherwise, just as VMware states these logs can, and many times DO take up to 10MB for each log. I've seen the log folder reach 100MB or more total. Not much for a single VM, but in my personal case I have nearly 500 VM's to manage. That's 50GB of storage being eaten up just for logs that I'll never look at.

I'd rather use that space for something I will actually use, like for more VMs and turn on the logs when they are actually needed.


Prime examples of when these are needed are with Linked Clone Pools that are active, i have seen in many of SRs even one specific to pools that are modified by GPO and other things that would prevent creation of just another pool to get these logs could have adverse changes upon them. Sometimes we want the VM causing the problems logs directly and if you have to go in and recompose the pool to enable logging because your VMs delete on logoff, well this is just another pain and adds another layer of complexity on the situtaion because there is no gurantee you could re-produce the issue after recompose.

also i have seen in a few insances where changing that reg key requires a restart of the service where it has triggered the refresh event on VMs so i just work on worst case scenarios that i have personally seen.

100MB is not a whole lot to ask for in logs honestly and a good business practice would account for log needs and desires, just like you would want logs with your ESX/ESXi boxes wether it be on the host/scratch/syslog its just good practice to have logs for when they are needed.
 
dasaint,

Good points. In fact maybe I should add a note to the suggested change not to apply this to pools that do delete or refresh upon logoff.

Though a recompose wouldn't always need to be performed in order to re-enable the logs. If it is a persistent machine you could just console into that machine, make the needed regedit change and simply reboot the machine. That of course is assuming the pool isn't set to refresh upon logoff again.

Good stuff and just more reasons why one size doesn't fit all.
 
one that I like to add is the following option under

Options -> General -> Configuration Parameters

devices.hotplug FALSE

this removes the option to disconnect the nic card on the vm and killing the connection

Sam
 
one that I like to add is the following option under

Options -> General -> Configuration Parameters

devices.hotplug FALSE

this removes the option to disconnect the nic card on the vm and killing the connection

Sam

I had to do this a while back myself. It took me a while to realize. We had a training class that uses Wyse thin laptops on WiFi, and my guess is one student who thought he knew it all told the others the trick... a bunch of them kept disabling their NICs because of the hotplug icon. Why they did it... who knows, but I put a stop to that!!

Nice write-up here!! I manage 800+ VMs at my job (quickly expanding), and I'm going to compare this against the guide I've created for myself. Thanks!

I found this thread by googling an issue I have: Numlock won't stay on as default through PCoIP. I have it enabled (default ON) in the BIOS, but it only defaults if I use View with RDP. PCoIP is not taking... I can manually click the Num Lock button, but it's not a default setting. This is a problem for those who have to enter their passwords from laptops apparently...
 
I found this thread by googling an issue I have: Numlock won't stay on as default through PCoIP. I have it enabled (default ON) in the BIOS, but it only defaults if I use View with RDP. PCoIP is not taking... I can manually click the Num Lock button, but it's not a default setting. This is a problem for those who have to enter their passwords from laptops apparently...

I also found it the same way...Any luck on that NumLock issue? Having a similar issue with both numlock and capslock. Users are not liking the fact that each machine is independant.
 
I also found it the same way...Any luck on that NumLock issue? Having a similar issue with both numlock and capslock. Users are not liking the fact that each machine is independant.

I've not figured it out yet. It works fine with View on the RDP protocol, but not View with PCoIP =/

I have numlock set in the BIOS. We have Desktop Authority (ScriptLogic) also, but my boss has to configure it to see if he can push it that way. Although, I don't think we should have to resort to that!!
 
We are using Profile Unity by LiquidwareLabs that saves the users HKCU\Control Panel\Keyboard setting (among others) and even though it saves the "InitialKeyboardIndicators" as a value of 2, yet when the system loads up and the user profile logs in it is reset back to 0.

It's like something in VMware client is overwriting the values that it should be.

I agree this should not be that hard.
 
We are using Profile Unity by LiquidwareLabs that saves the users HKCU\Control Panel\Keyboard setting (among others) and even though it saves the "InitialKeyboardIndicators" as a value of 2, yet when the system loads up and the user profile logs in it is reset back to 0.

It's like something in VMware client is overwriting the values that it should be.

I agree this should not be that hard.

Funny you mentioned ProU because we just installed it to do an eval. We are also trying out Unidesk.

I'm back here because I was going to ask you guys if you think the "BOOTDISK" partition is necessary for VMs... I'm fairly certain that's just the recovery partition.
 
No we don't use the boot disk partition. It is unnecessary as far as I am concerned.

We are really liking ProU because of it's very flexible configuration...The problems we are having for the most part are because of the way we are trying to implement things which is not really ideal but I have been able to get around most of the little issues. We are really liking FlexApp.
 
No we don't use the boot disk partition. It is unnecessary as far as I am concerned.

We are really liking ProU because of it's very flexible configuration...The problems we are having for the most part are because of the way we are trying to implement things which is not really ideal but I have been able to get around most of the little issues. We are really liking FlexApp.

Awesome! I have ProU configured on a specific (test) OU. FlexApp is yet to be installed, but that's something we're going to try also.

Do you think I can blast the BOOTDISK partition from my template easily? Did you cut it out DURING your initial Win7 install on your golden image?
 
I honestly don't recall since that was about nine months ago when I created that initial image. Give it a try and you can always revert back to a known good snapshot if anything breaks.

If I remember correctly I just did not even make that second partition when I did the initial install...I normally blow away any partitions, allow it to create one for OS and a 100MB for "System Reserved"
 
I honestly don't recall since that was about nine months ago when I created that initial image. Give it a try and you can always revert back to a known good snapshot if anything breaks.

If I remember correctly I just did not even make that second partition when I did the initial install...I normally blow away any partitions, allow it to create one for OS and a 100MB for "System Reserved"

Thanks!
Curious. Are you using persistent disk or disposable file redirection in View Composer?
 
I may do a Powershell class. Do you guys recommend 2.0 or 3.0?
 
This is pretty good stuff - Thanks. Would be good for creating a base image for XenDesktop.
 
I have a guide that i'll post up on my blog that's a culmination of the best practices for View/Citrix..etc that we have found to be awesome. It's much more indepth than the standard View Optimization guide and provides solid performance. I'll put it up on my blog later today, address is in my sig.
 
Still needs a lot of editing but he is what I use. It's a combination from many sources compiled into a doc.

Sources cited in the doc.

Steps to configure a Windows 7 VM

** Steps in red text are documented for reference however are included in the script at the bottom of this document.

Creating the machine in the vSphere console
CPU
Use as few CPUs as possible. More CPU’s = higher workload on the ESX hosts.
Memory
Begin with 3GB and resize if necessary.
SCSI controller (3)
LSI Logic SAS.
A Paravirtualized Driver will replace the LSI after VMware tools ins installed.
NIC Adaptor Type (3)
VMXNET 3
Hard Drive size = 50gb
Video (3)
128MB of ram

Disable virtual machine logging (1)
Every time a virtual machine is powered on, it logs diagnostic information to the datastore hosting the VMDK. For a large concentration of virtual machines, this overhead can be significant.
• Click VM / Settings on the menu bar within the VM’s console
• Clear the Enable logging box under the options tab

Edit the Bios settings (1)
Disable any unneeded devices in the Bios.
• Boot into the VM’s bios and select the advanced tab
• Select I/O device configuration
• Disable the serial, floppy and parallel ports if they are not needed, then hit f10 to save the settings
• Force numlock to On

Remove the floppy drive
• Click VM / Settings on the menu bar within the VM’s console
• Select the floppy drive and remove it

 
Enable Copy and Paste in the VM (7)
To enable this option for a specific virtual machine:
• Log into a vCenter Server system using the vSphere Client and power off the virtual machine.
• Select the virtual machine and click the Summary tab.
• Click Edit Settings.
• Navigate to Options > Advanced > General and click Configuration Parameters.
• Click Add Row and type the following values in the Name and Value columns:
o isolation.tools.copy.disable – false
o isolation.tools.paste.disable – false

Add higher priority to vGPU
• Click Add Row and type the following values in the Name and Value columns:
o mks.poll.headlessRates=1000 100 2

Install Windows 7 using 8KB allocation size (1)
You can achieve greater performance when formatting the boot volume with an allocation size of 8192 bytes instead of 4096 bytes.
During the pre-install process in Windows 7, when it asks you what disk / partition you would like to install the OS on
• Type shift+f10
In the command window:
• Type in diskpart
• Select disk 0
• Create partition primary size=400
• Active
• Format fs=ntfs label=”System Reserve” quick
• Create partition primary
• Format fs=ntfs label=OS unit=8192
• Assign
• Exit (type this 2 times to exit diskpart and command prompt)
• Click the refresh button (f5)
• Select disk 0 partition 2 “OS” to install the OS

Install the OS
• When prompted for the Windows Username = Gold
• PC Name is whatever the VM name is (ie. Win7x64Gold etc…)
• Select the Eastern Time Zone and leave the DST checkbox checked
• Select “Work Location” for the network location prompt

Once Windows has been installed…
Turn off UAC (User account control)
Enable Administrator account and assign password
Log in as administrator



Install VMware Tools and reboot
• Using the “complete” option
Disconnect the iso from the CDrom drive
Install Paravirtualized SCSI (PVSCSI) Controller (VMware Procedure)
To configure a disk to use a PVSCSI adapter:

1. Launch a vSphere Client and log in to an ESX/ESXi host or vCenter Server.
2. Select a virtual machine, or create a new one.
3. Ensure a guest operating system that supports PVSCSI is installed on the virtual machine.
4. In the vSphere Client, right-click on the virtual machine and click Edit Settings.
5. Click the Hardware tab.
6. Click Add.
7. Select Hard Disk.
8. Click Next.
9. Choose any one of the available options.
10. Click Next.
11. Specify the options you require. Options vary depending on which type of disk you chose.
12. Choose a Virtual Device Node and specify whether you want to use Independent mode. For data disks choose a Virtual Device Node between SCSI (1:0) to SCSI (3:15). For a boot disk choose Virtual Device Node SCSI (0:0), or choose the Virtual Device Node that will boot in the order you require.
13. Click Next.
14. Click Finish to finish the process and exit the Add Hardware wizard. A new disk and controller are created.
15. Select the newly created controller and click Change Type.
16. Click VMware Paravirtual and click OK.
17. Click OK to exit the Virtual Machine Properties dialog.
18. Power on the virtual machine.
19. Install VMware Tools. VMware Tools includes the PVSCSI driver.
20. Scan and format the hard disk.

Note: In some operating systems, you need to create a virtual machine with the LSI controller, install VMware Tools, then change to the drives to paravirtualized mode to perform the procedure above.

To boot a Windows virtual machine from a disk attached to a PVSCSI adapter, the VMware PVSCSI driver must be installed in the Windows guest. Floppy disk images that contain the driver are available for the versions of ESX/ESXi that support this. Floppy images are located in the /vmimages/floppies/ directory.

• Separate OS, swap and data disks into separate VMDK files.
• This improves performance and Data Protection (primarily by excluding the swap data).
• Consider creating a separate virtual-disk controller for each disk. This allows higher disk I/O than a single controller. Power off VM and change SCSI ID 1:0, 2:0 and so on, and you’ll get additional controllers.

Install the appropriate version of the VMware View Agent and reboot
• Leave defaults checked and allow the “add port exceptions to the firewall / RDP enable” option
 
Uninstall Windows features and reboot
• Windows DVD Maker
• Windows Media Center
• Tablet PC Components
• Windows Gadget Platform
• Windows Disable Machine Account Password Changes Disable Machine Account Password Changes
• XPS Services
• XPS Viewer

Activate Windows (5)
Apply the generic key: (may not be needed)
• c:\windows\system32\cscript c:\windows\system32\slmgr.vbs /ipk 33PXH-7Y6KF-2VJC9-XBBR8-HVTHH
&#8226; c:\windows\system32\cscript c:\windows\system32\slmgr.vbs /skms <Host name or IP of KMS>
&#8226; c:\windows\system32\cscript c:\windows\system32\slmgr.vbs /ato

Install Windows Updates (reboot as necessary) &#8211; including SP1
When running windows update, select the never check for updates option, then manually check for updates
After updates have been installed, to save space, you may want to clear out the Update download folder.
Hide all language pack updates under optional updates
&#8226; Delete all files / folders under C:\Windows\SoftwareDistribution\Download

** CD/DVD Drive (3)
&#8226; Click VM / Settings on the menu bar within the VM&#8217;s console
&#8226; Disconnect the installation media and remove the CD/DVD Drive from the virtual machine

As Administrator - Change explorer folder options
&#8226; Unhide protected OS files
&#8226; Show file extensions
&#8226; Show Empty files
&#8226; Show Hidden Files
&#8226; Always show menus
&#8226; Disable sharing wizard

Turn off write event to system log under startup and recover


&#8195;
Windows 7 Application and OS configuration

Performance Settings
Login as Administrator

Set Page File to static 2x the RAM assigned for both Min and Max
Setting the page file to a fixed size for both min and max will prevent the I/O of windows dynamically adjusting the page file.
&#8226; Set page file to a fixed size (for 1Gb of ram, set min & max to 1024mb)

Disable indexing of C:\ (1)
Unneeded I/O will be created when Windows is building its index cache.
&#8226; Right click on c:\ and select properties. On the general tab, uncheck the allow indexing option and click apply. If prompted, run it as administrator and if any files can&#8217;t be changed, just click the &#8220;ignore all&#8221; button

Disable System Restore and delete restore points

Disable Boot Graphic (1)
The windows boot graphic will not be seen by users and it needlessly consumes resources.
&#8226; Start > Run > Msconfig > boot tab. Select &#8220;no gui boot&#8221;. Clear boot log checkbox if checked.

Increase number of processors used at boot
&#8226; Start > Run > Msconfig > boot tab. Select &#8220;Advanced Options..&#8221; >

Reboot

*** Log in as GOLD ***

Windows Media Player
&#8226; Open Windows Media Player and disable all privacy options by doing the custom configuration > Check the Box next to &#8220;Number of processors:&#8221; > Choose the highest number of CPUs available from the dropdown box.

Copy support folder and subfolders to root of c:\
&#8226; Copy the support folder from \\xxx\xxx\support to c:\

Run VDI Optimizer Script
&#8226; Browse to C:\support\Image_prep\
&#8226; Right click and run as administrator one of the following
o 1. CommandsPersonaManagement.cmd
&#61607; If you are using View Persona Management
o 1. CommandsNoPersonaManagement.cmd
&#61607; If you are not using View Persona Management and using a 3rd party tool
o 2. CommandsDesktopsReadyForPersonaManagement.cmd
&#61607; If you ran CommandsNoPersonaManagement.cmd and want to now use View Persona Management
&#8226; (Optional) for custom tweaks Right click and run as administrator of the following
o 3. Optional Custom Tweaks.cmd
Reboot

*** Log in as GOLD ***
Disable Scheduled Tasks
Windows runs scheduled tasks in addition to services which perform jobs such as weekly defrag, disk / memory diagnostics, etc&#8230; These tasks should be disabled to prevent additional I/O.
Control Panel > Administrative Tools > Task Scheduler> Task Scheduler Library > Microsoft
Disable tasks under:
&#8226; Application Experience
&#8226; AutoChk
&#8226; Bluetooth
&#8226; Defrag
&#8226; Diagnosis
&#8226; Customer Experience Improvement Program
&#8226; Disk Diagnostic
&#8226; Maintenance
&#8226; Memory Diagnostic
&#8226; MobilePC
&#8226; MUI
&#8226; Offline File
&#8226; Power Efficiency Diagnostics
&#8226; Shell
&#8226; SideShow
&#8226; System Restore
&#8226; Windows Media Sharing
&#8226; Windows Backup
&#8226; Windows Defender

Restart

&#8195;
*** Log in as GOLD User ***
Control Panel
&#8226; Change control panel view to &#8220;small icons&#8221;

Control Panel > Sounds
Sounds tab
&#8226; Uncheck &#8220;play windows startup sound&#8221;
&#8226; Select the &#8220;No Sounds&#8221; sound scheme

Control Panel > Troubleshooting (is turned off since we disabled the service)
Select the &#8220;change settings&#8220; link
&#8226; Computer maintenance = off
&#8226; Uncheck both options under the Other settings section
&#8226; Disable Allow users to browse for troubleshooters
&#8226; Disable Allow troubleshooting to begin immediately when started

Power
Control panel > Power Options
&#8226; Select the High Performance Option
&#8226; Select turn off display to never
o Select the &#8220;Change Plan Settings&#8221; link
&#8226; Change sleep timer to No
&#8226; Sleep wake timers - never
&#8226; Shutdown hard disk = never
&#8226; Sleep = never
&#8226; CPU min and max performance is always at 100%


NIC Settings
http://support.microsoft.com/kb/929852
&#8226; Disable IPv6
&#8226; Install the IPv6 MicrosoftFixit50413.msi from C:\support\Image_prep\
&#8226; Reboot

Internet Explorer
View Menu > Select toolbars and check the &#8220;menu&#8221; option
Tools Menu > Options > Programs tab
&#8226; Turn off default browser check

&#8195;
Settings
** All of the below settings should be made while logged in a GOLD, not as the administrator (EXCEPT FOR APPLICATION INSTALLS)

Application Installs

Install Silverlight
Once it&#8217;s installed, open it up from the start menu and disable automatic update checking

Restart the machine, then log in as GOLD

Look and Feel

Default User Profile Picture
&#8226; Copy the your customer user.bmp to c:\programdata\microsoft\user account pictures folder
&#8226; When prompted, replace the existing picture in that folder
(GPO can be implemented to set the default user profile picture to all users in
Computer configuration > Administrative Templates > Control panel > User Accounts > Apply the default user logon picture to all users)

Set performance settings
Right click on My Computer > properties > Advanced System Settings > Advanced Tab >Performance Settings button
performance settings should be set to custom: only check the use visual styles option (the bottom option) and the smooth edges of screen fonts

Desktop
&#8226; Right click on the desktop
o Select &#8220;use small icons&#8221; and &#8220;auto arrange&#8221;
&#8226; Right click on the desktop > Personalize
&#8226; Select the windows 7 basic theme
&#8226; Change background to solid color and select the black color
&#8226; Apply changes
&#8226; desktop icon text should now show up as black
&#8226; in this same window, change the system sounds to the no sounds scheme


Taskbar & Start Menu
Right click on the taskbar > properties
Select &#8220;combine when taskbar is full&#8221; for the taskbar buttons dropdown
Taskbar tab > Notification area > Customize button
Select &#8220;always show all icons and notifications in the taskbar&#8221;
Select the link for turn system icons on or off, Turn the action center off
Right click on vmware tools and select do not show icon
Start menu tab
Uncheck both boxes under the privacy box
Customize button (Applied via GPO)
Don&#8217;t display &#8220;Control Panel, Documents, downloads, games, music, personal folder, pictures&#8221;
Uncheck &#8220;Connect to, default programs, enable context menus, favorites menu, help, highlight newly installed programs, search programs and control panel, use large icons&#8221;
Don&#8217;t search &#8220;Search other files and libraries&#8221;
Start Menu Size
Make number of recent items for both options = 0

Quick Launch toolbar and task bar
&#8226; Make taskbar small icons
&#8226; Right click on the vmware tools icon and select &#8220;disable icon&#8221;

Windows Explorer View Options
Windows Explorer > Tools menu > folder options > view tab
&#8226; Change default view to &#8220;details&#8221;
&#8226; Check &#8220;Always show menus and Show hidden files and folders&#8221; boxes
&#8226; Uncheck &#8220;hide empty drives in the computer folder&#8221; and &#8220;hide extensions for known file types&#8221;
&#8226; Click the apply to all folders button

Disable startup programs under the all users \startup folder
&#8226; Under startup disable Adobe Acrobat and Reader or any other application that is set to startup automatically (ie. citrix, etc)

open up office documents in IE from inet and set them to open automatically (search for .xls, .xlsx, .doc, .docx, .ppt, .pptx, etc)

Disable Libraries, Network and Favorites in Windows Explorer (4)
&#8226; Browse to C:\support\wenpcfg\
o Right click and run as administrator wenpcfg hide.cmd

Restart
Log back in as GOLD

Clear IE cache and cookies

Run Disk Clean up
&#8226; Start / run cleanmgr


Check the run keys in the registry
Delete any registry values for applications that shouldn&#8217;t be set up to run on startup / logon
&#8226; HKLM\software\microsoft\windows\currentversion\run
&#8226; HKCU\software\microsoft\windows\currentversion\run

&#8195;
Remove Personalized Settings for New Users (Active Setup) (8)
(Many of these settings are in the vdi optimizer script but check them again to make sure the have all been removed)

Under the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ActiveSetup\InstalledComponents
and
HKEY_CURRENT_USER\Software\Microsoft\ActiveSetup\InstalledComponents

&#8226; Go through each GUID key under both of the above locations and look for the reg_sz value called &#8220;stubpath&#8221; under each key
&#8226; Delete the stubpath entry under all keys EXCEPT for dotnetframeworks and theme setup

Add Key to prevent slow login times due to IE branding (9) (this is also in the vdioptimizer script)
&#8226; Under HKLM\Software\Microsoft\InternetExplorer\Main\FeatureControl, add a key named FEATURE_PARSING_BRANDING_CMDLINE_FLAGS_KB941158
&#8226; Under that key, create a Dword entry named *
&#8226; Make the value of that entry 1

Delete any values under the following registry key
&#8226; Browse to C:\support\
o Right click and run as administrator &#8220;10. Remove typed Paths.cmd&#8221;


Under the accessories folder, delete the following links, and recreate the notepad, on-screen keyboard and windows explorer (permissions issue if you don&#8217;t do this)
magnify
narrator
notepad
on-screen keyboard
windows explorer

Restart the machine and log back in as administrator

delete service pack install files and delete installer cache and temp files (10)
&#8226; Browse to C:\support\
o Right click and run as administrator &#8220;3. Delete Windows Update Cache and Temp.cmd&#8221;

Delete cookies, temp files, etc&#8230; from IE and other browsers
&#8226; Download and install ccleaner
o http://www.filehippo.com/download_ccleaner
o Under Install option choose only &#8220;Add Desktop Icon&#8221;
o Do NOT Choose install &#8220;Google Chrome &#8220; and &#8220;include google Toolbar&#8221;
o Move the icon from the administrator desktop to c:\support\
o Run CCleaner from c:\support
o Chose &#8220;no&#8221; for &#8220;Intelligent scan for cookies to keep&#8221;
o Run cleaner with the default setting and delete all recommended files



&#8195;
Log out as administrator and back in as Gold
&#8226; Run CCleaner from c:\support Using he defaults for Gold
o Run CCleaner from c:\support
o Chose &#8220;no&#8221; for &#8220;Intelligent scan for cookies to keep&#8221;
o Run cleaner with the default setting and delete all recommended files
Restart

Log in as administrator

Copy the &#8220;GOLD&#8221; profile settings to the default profile (6)
&#8226; From &#8220;C:\support\DefProf right click and run &#8220;6. Stop and Disable Windows Defrag.cmd&#8220; as administrator
&#8226; Restart after the process completes

Restart

Log back in as gold

&#8226; From c:\support right click and run the following as administrator
o 4. Enable and Start Windows Defrag
o 5 Defrag C.cmd
o 6. Stop and Disable Windows Defrag.cmd
o (Optional)
&#61607; 7. VMWareView_MasterImagePrepLWLx64.cmd
&#61607; 8. AV prep.cmd
o 9. Release IP and flush DNS.cmd
o 10. Remove typed Paths.cmd

Create your snapshot for the Linked clone pool

For continued Maintenance
Log back in as administrator
&#8226; From c:\support right click and run the following as administrator
o 1. Enable and Start Windows Updates.cmd
&#61607; Run Windows update(s)
o 3. Delete Windows Update Cache and Temp.cmd
o 4. Enable and Start Windows Defrag
o 5 Defrag C.cmd
o 6. Stop and Disable Windows Defrag.cmd
o 9. Release IP and flush DNS.cmd
o 10. Remove typed Paths.cmd
o

VDIOptimizer Script

Change NTFS behavior
Disabling the last accessed time stamp will reduce workload for users who run applications that access many files.
** Included in the vdioptimizer script at the bottom of this document **
&#8226; Fsutil behavior set disablelastaccess 1
Disable the creation of DOS style 8.3 filenames
&#8226; Fsutil 8dot3name set 1

Disable Hibernation (1)
Hibernation has a high I/O cost by writing contents of system RAM to the C:\hyberfil.sys. Removing the hiberfile.sys file will also save space.
** Can run the below command OR vdioptimizer script at the bottom of this document **
&#8226; Powercfg /hibernate off

Disable System Restore (1)
In a floating pool with refresh cycles (ie. A Kiosk environment), System Restore isn&#8217;t needed. Disabling it not only saves resources on the machine, but also space on the drive.
** Included in the vdioptimizer script at the bottom of this document **
Control Panel > System > System Protection tab > configure button
&#8226; select the c:\ drive and the &#8220;turn off system protection&#8221; option. Move the slider to 1% and delete any files associated by clicking on the delete button

Increase service startup timeouts
With large amounts of virtual machines booting simultaneously (for example, first thing in the morning) some vendor's virtual desktop agents may fail to register because the Windows Service timeout is reached before the service starts. It is recommended to change the timeout to 120 seconds (default is 30 seconds).
** Included in the vdioptimizer script at the bottom of this document **
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
&#8226; ServicesPipeTimeout REG_DWORD = 180000

Disable Memory Dumps
Disable Crash Dumps ** Included in the vdioptimizer script at the bottom of this document **
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl
&#8226; CrashDumpEnabled REG_DWORD = 0
Disable Logging events ** Included in the vdioptimizer script at the bottom of this document **
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl
&#8226; LogEvent = 0
Disable Sending Alerts ** Included in the vdioptimizer script at the bottom of this document **
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl
&#8226; SendAlert REG_DWORD = 0
Allow Auto Reboot ** Included in the vdioptimizer script at the bottom of this document **
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl
&#8226; AutoReboot REG_DWORD = 1

Disable paging the executive (1)
Windows writes kernel mode drivers and system code to the windows paging file when not in use to make more memory available for the system. If the VM is assigned sufficient memory, you can disable this to save additional I/O overhead of writing and reading into the page file.
HKLM\system\currentcontrolset\control\session manager\memory management
&#8226; change disablepagingexexecutive key from 0 to 1

Reduce Menu Show Delay ** Included in the vdioptimizer script at the bottom of this document **
Makes the start menu folder popup / navigation quicker
HKEY_CURRENT_USER\Control Panel\Desktop
MenuShowDelay REG_SZ = 100
Disable cursor blink ** Included in the vdioptimizer script at the bottom of this document **
HKEY_CURRENT_USER\Control Panel\Desktop
&#8226; CursorBlinkRate REG_SZ = -1
HKEY_CURRENT_USER\Control Panel\Desktop
&#8226; DisableCursorBlink REG_DWORD = 1

Force off-screen composition in IE ** Included in the vdioptimizer script at the bottom of this document **
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main
&#8226; Force Offscreen Composition REG_DWORD = 1

Don't show window contents when dragging ** Included in the vdioptimizer script at the bottom of this document **
HKEY_CURRENT_USER\Control Panel\Desktop\
&#8226; DragFullWindows REG_SZ = 0

Don't show window minimize/maximize animations ** Included in the vdioptimizer script at the bottom of this document **
HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics
&#8226; MinAnimate REG_SZ = 0

Disable font smoothing ** Included in the vdioptimizer script at the bottom of this document **
HKEY_CURRENT_USER\Control Panel\Desktop\
&#8226; FontSmoothing REG_SZ = 0

********************
@echo off
REM disabling boot screen animation
bcdedit /set BOOTUX disabled

REM delete shadow copies
vssadmin delete shadows /All /Quiet

REM disable system restore
Powershell disable-computerrestore -drive c:\

REM disabling last access timestamp
Fsutil behavior set disablelastaccess 1

REM disable 8dot3 dos names
Fsutil 8dot3name set 1

REM turn off hibernation
Powercfg /hibernate off

REM Set Default RDP color setting
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v ColorDepth /t REG_DWORD /d 4 /f

REM Set Disk Timeout Value
reg add HKLM\SYSTEM\CurrentControlSet\Services\Disk /v TimeOutValue /t REG_DWORD /d 200 /f

REM Increase service startup timeouts
reg add HKLM\SYSTEM\CurrentControlSet\Control /v ServicesPipeTimeout /t REG_DWORD /d 180000 /f

REM disable memory dumps
reg add HKLM\SYSTEM\CurrentControlSet\Control\CrashControl /v crashdumpenabled /t REG_DWORD /d 0 /f

REM Disable Logging events
reg add HKLM\SYSTEM\CurrentControlSet\Control\CrashControl /v LogEvent /t REG_DWORD /d 0 /f

REM Disable Sending Alerts
reg add HKLM\SYSTEM\CurrentControlSet\Control\CrashControl /v SendAlert /t REG_DWORD /d 0 /f

REM Allow Auto Reboot
reg add HKLM\SYSTEM\CurrentControlSet\Control\CrashControl /v AutoReboot /t REG_DWORD /d 1 /f

REM disable paging the executive
reg add "HKLM\system\currentcontrolset\control\session manager\memory management" /v disablepagingexexecutive /t REG_DWORD /d 1 /f

REM Reduce Menu Show Delay
reg add "HKCU\Control Panel\Desktop" /v MenuShowDelay /t REG_SZ /d 100 /f

REM Disable cursor blink
reg add "HKCU\Control Panel\Desktop" /v CursorBlinkRate /t REG_SZ /d -1 /f

REM disable auto reboot
reg add "HKCU\Control Panel\Desktop" /v DisableCursorBlink /t REG_DWORD /d 1 /f

REM Force off-screen composition in IE
reg add "HKCU\Software\Microsoft\Internet Explorer\Main" /v "Force Offscreen Composition" /t REG_DWORD /d 1 /f

REM Don't show window contents when dragging
reg add "HKCU\Control Panel\Desktop" /v DragFullWindows /t REG_SZ /d 0 /f

REM Don't show window minimize/maximize animations
reg add "HKCU\Control Panel\Desktop\WindowMetrics" /v MinAnimate /t REG_SZ /d 0 /f

REM Disable font smoothing
reg add "HKCU\Control Panel\Desktop" /v FontSmoothing /t REG_SZ /d 0 /f

REM Disable IE first run wizard
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main" /v DisableFirstRunCustomize /t REG_DWORD /d 0x1 /f

REM disable prefetch
reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters" /v EnableSuperfetch /t REG_DWORD /d 0x0 /f

REM disable auto update
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /t REG_DWORD /d 0x1 /f

REM disable system restore
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\SystemRestore" /v DisableSR /t REG_DWORD /d 0x1 /f

REM Event Log stuff
reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application" /v MaxSize /t REG_DWORD /d 0x100000 /f

REM Event Log stuff
reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application" /v Retention /t REG_DWORD /d 0x0 /f

REM turn off the Network Location Wizard
reg ADD "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f

REM Event Log stuff
reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\System" /v MaxSize /t REG_DWORD /d 0x100000 /f

REM Event Log stuff
reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\System" /v Retention /t REG_DWORD /d 0x0 /f

REM Event Log stuff
reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Security" /v MaxSize /t REG_DWORD /d 0x100000 /f

REM Event Log stuff
reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Security" /v Retention /t REG_DWORD /d 0x0 /f

REM disable crash logging
reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 0x0 /f

REM disable recycle bin
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer" /v NoRecycleFiles /t REG_DWORD /d 0x1 /f

REM disable UAC
reg ADD "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\policies\system" /v EnableLUA /t REG_DWORD /d 0x0 /f

REM disable windows sideshow
reg Add "HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Sideshow" /v Disabled /t REG_DWORD /d 0x1 /f

REM Disable Unnecessary Services
echo **********************
sc config SensrSvc start= disabled
sc config BDESVC start= disabled
sc config wbengine start= disabled
sc config bthserv start= disabled
sc config defragsvc start= disabled
sc config Fax start= disabled
sc config HomeGroupListener start= disabled
sc config HomeGroupProvider start= disabled
sc config SharedAccess start= disabled
sc config CscService start= disabled
sc config WPCSvc start= disabled
sc config wercplsupport start= disabled
sc config PcaSvc start= disabled
sc config wscsvc start= disabled
sc config ShellHWDetection start= disabled
sc config SCardSvr start= disabled
sc config SCPolicySvc start= disabled
sc config SNMPTRAP start= disabled
sc config TabletInputService start= disabled
sc config Themes start= disabled
sc config SDRSVC start= disabled
sc config WinDefend start= disabled
sc config WerSvc start= disabled
sc config Wecsvc start= disabled
sc config MpsSvc start= disabled
sc config ehRecvr start= disabled
sc config ehSched start= disabled
sc config WMPNetworkSvc start= disabled
sc config WSearch start= disabled
sc config SysMain start= disabled
echo **********************

REM Disable UAC
reg ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f

REM Disable UAC prompt behavior
reg ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v ConsentPromptBehaviorAdmin /t REG_DWORD /d 0 /f

REM Remove Shortcut Arrow
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons" /v 29 /t REG_SZ /d c:\windows\wellspan\icons\noarrow.ico /f

REM remove start menu folders
rd "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Maintenance" /S /Q
rd "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Windows PowerShell" /S /Q
rd "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\System Tools" /S /Q
rd "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Accessibility" /S /Q
rd "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Games" /S /Q
rd "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\VMware" /S /Q
rd "%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Maintenance" /S /Q

del "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\snipping tool.lnk" /F /Q
del "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\sound recorder.lnk" /F /Q
del "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\echoote Desktop Connection.lnk" /F /Q
del "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\NetworkProjection.lnk" /F /Q
del "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Sync Center.lnk" /F /Q
del "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Welcome Center.lnk" /F /Q
del "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Mobility Center.lnk" /F /Q
del "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\displayswitch.lnk" /F /Q
del "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Windows Media Player.lnk" /F /Q
del "C:\ProgramData\Microsoft\Windows\Start Menu\Default Programs.lnk" /F /Q
del "C:\ProgramData\Microsoft\Windows\Start Menu\Windows Update.lnk" /F /Q
del "%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\Accessibility\Ease of Access.lnk" /F /Q
del "%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\Accessibility\Narrator.lnk" /F /Q

move /Y "%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\Accessibility\Magnify.lnk" "%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\System Tools"
move /Y "%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\Accessibility\On-Screen Keyboard.lnk" "%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\System Tools"
rd "%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\Accessibility" /S /Q
del "%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\System Tools\computer.lnk" /F /Q
del "%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\System Tools\Control Panel.lnk" /F /Q
del "%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\System Tools\Private Character Editor.lnk" /F /Q
del "%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\run.lnk" /F /Q
del "%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\Command Prompt.lnk" /F /Q
move /Y "%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\System Tools\Magnify.lnk" "%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs"
move /Y "%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\System Tools\On-Screen Keyboard.lnk" "%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs"
move /Y "%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\Notepad.lnk" "%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs"
move /Y "%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\Windows Explorer.lnk" "%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs"
rd "%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\System Tools" /S /Q
rd "%homepath%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories" /S /Q
move /Y "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\*.lnk" "C:\ProgramData\Microsoft\Windows\Start Menu\Programs"
rd "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories" /S /Q

pause


&#8195;
References
(1) EMC &#8211; Deploying Microsoft Windows 7 Virtual Desktops with VMware View https://community.emc.com/servlet/J...619/h8043-windows-virtual-desktop-view-wp.pdf
(2) Technet &#8211; Optimizing Windows 7 Images for use in VDI
http://blogs.technet.com/b/deployme...timising-windows-7-images-for-use-in-vdi.aspx
(3) VMware View Optimization Guide for Windows 7
http://www.vmware.com/files/pdf/VMware-View-OptimizationGuideWindows7-EN.pdf
(4) Wenpcfg utility to disable network, favorites and libraries in Windows Explorer
http://www.s-inn.de/download/wenpcfg-Readme.pdf
(5) Windows 7 KMS Activation procedures
View Composer uses KMS licensing as its activation method. Note: this process will clear out the key that was used to install Windows 7 Enterprise. It will then replace that key with a generic, publicly available license key. (5) Once the generic key is applied, you can register the VM with the company KMS license server using the below commands.
From a command prompt type (each command may take up to a minute to produce a success / failure code)
http://social.technet.microsoft.com...p/thread/e97508ce-8647-410c-8f4f-0da350f15b49
(6) Modifying the default user profile in Windows 7 (unsupported method)
http://www.bluemoonpcrepair.com/wp/?p=39
(7) Enable copy and paste in a virtual machine in vSphere 4.1
http://kb.vmware.com/selfservice/mi...nguage=en_US&cmd=displayKC&externalId=1026437
(8) Remove Personalized Settings for New Users after installing Internet Explorer
http://support.microsoft.com/kb/238441
(9) A 20-second delay may occur when you log on to the domain from a client computer that has Internet Explorer 7 or Internet Explorer 8 installed
http://support.microsoft.com/kb/941158
(10) The process takes a few minutes to complete, it ends with the sentences "Service Pack Cleanup operation completed. The operation completed successfully".
http://technet.microsoft.com/en-us/library/dd799258(WS.10).aspx
 
Vader, I appreciate your post. I looked through it quickly, but will hopefully take a deeper look this week. Looks promising so far. :)
 
No problem...i'm happy to share with you guys/gals. You really have to look at all the details as some things may be duplicated or out of order..working on a finalized doc.

The 8k filesystem reaps a ton of performance...
 
No problem...i'm happy to share with you guys/gals. You really have to look at all the details as some things may be duplicated or out of order..working on a finalized doc.

The 8k filesystem reaps a ton of performance...

All you need to do is ensure the offset is 8K... that's it?
Does it matter what storage you use on the back-end? We use NetApp right now.
 
All you need to do is ensure the offset is 8K... that's it?
Does it matter what storage you use on the back-end? We use NetApp right now.

Not the offset. Looking at his post it looks like he's formatting NTFS with an 8k allocation unit or cluster size. Windows Vista/2008 and newer automatically uses a 1MB offset vs. the old school 63KB.
 
Installing Windows 7 (without System Reserve Partition and with 4k alignment)

  1. Boot from your Windows 7 installation media.
  2. After booting you see the Install Windows 7 screen, press Shift + F10 to open a command prompt.
  3. At the command prompt, type Diskpart, press Enter.
  4. Type List Disk, press Enter.
  5. Type Select Disk # (where # is the number your drive shows up as), press Enter.
  6. Type Clean, press Enter.
  7. Type Convert MBR, press Enter.
  8. Type Create Partition Primary Align=4096, press Enter.


  1. Doesn't Win7 align to 4k on its own?
 
Back
Top