May 19, 2012

SCSI Adapter Type for View 4.5 Transfer Server

Just a quick note, if you are deploying View 4.5 and planning on taking advantage of offline desktop capabilities.  Be aware that the VM you use for a transfer server cannot have a SCSI controller type of LSI SAS, the reason I bring that up is that is the default option for a Windows 2008 VM.  Unfortunately in my case, this meant creating a new VM from scratch specifically for use as a transfer server.

Popularity: 3% [?]

Creating a Windows 7 Template for VMware View

VMware View Template Configuration

Update 2012–02–05: I wanted to update this post for a couple of reasons – first, this is one of my most popular posts on the site so I wanted to refresh it with up to date information for any reader that may come across it looking for information. Second, VMware has released a few tools since this post that make the process even easier. I wanted to document them in this post, therefore I did a complete re-write of this post

Optimizing the Windows 7 Virtual Machine

The first thing you will want to do is grab the PDF from VMware entitled: VMware View Optimization Guide for Windows 7, available here. If you are using anything other than Adobe Reader (in my case I was using Preview on a Mac) you may not realize there are actually scripts attached to the PDF file to automate the process for you. You can find the text of the scripts in the appendix, there are a few scripts – the one I used is if you are not using persona management. In my case I wasn’t, I was doing a manual pool and publishing a specific desktop for myself so I used the CommandsNoPersonaManagement.txt file, saved it to a .bat and ran it on the desktop I wanted to use in my pool. If you were creating linked clones you would run this on the desktop that you will be creating the replica from.

To give you an idea of how indepth this script is, the contents of NoPersonaManagement.txt are:

rem Use this script for desktops _without_ View Persona Management implemented.
rem Setting Default HKCU values by loading and modifying the default user registry hive
reg load "hku\temp" "%USERPROFILE%\..\Default User\NTUSER.DAT"
reg ADD "hku\temp\Software\Policies\Microsoft\Windows\Control Panel\Desktop" /v SCRNSAVE.EXE /d "%windir%\system32\scrnsave.scr" /f
reg ADD "hku\temp\Software\Policies\Microsoft\Windows\Control Panel\Desktop" /v ScreenSaveTimeOut /d "600" /f
reg ADD "hku\temp\Software\Policies\Microsoft\Windows\Control Panel\Desktop" /v ScreenSaverIsSecure /d "1" /f
reg ADD "hku\temp\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v Wallpaper /d " " /f
reg ADD "hku\temp\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Cache" /v Persistent /t REG_DWORD /d 0x0 /f
reg ADD "hku\temp\Software\Microsoft\Feeds" /v SyncStatus /t REG_DWORD /d 0x0 /f
reg ADD "hku\temp\Software\Microsoft\WIndows\CurrentVersion\Policies\Explorer" /v HideSCAHealth /t REG_DWORD /d 0x1 /f
reg unload "hku\temp"

rem Making modifications to the HKLM hive
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main" /v DisableFirstRunCustomize /t REG_DWORD /d 0x1 /f
reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters" /v EnableSuperfetch /t REG_DWORD /d 0x0 /f
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /t REG_DWORD /d 0x1 /f
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\SystemRestore" /v DisableSR /t REG_DWORD /d 0x1 /f
reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Disk" /v TimeOutValue /t REG_DWORD /d 200 /f
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Image" /v Revision /t REG_SZ /d 1.0 /f

reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Image" /v Virtual /t REG_SZ /d Yes /f
reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application" /v MaxSize /t REG_DWORD /d 0x100000 /f
reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application" /v Retention /t REG_DWORD /d 0x0 /f
reg ADD "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f
reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\System" /v MaxSize /t

REG_DWORD /d 0x100000 /f
reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\System" /v Retention /t REG_DWORD /d 0x0 /f
reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Security" /v MaxSize /t REG_DWORD /d 0x100000 /f
reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Security" /v Retention /t REG_DWORD /d 0x0 /f
reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 0x0 /f
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer" /v NoRecycleFiles /t REG_DWORD /d 0x1 /f
reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0x0 /f
reg ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0x0 /f
reg ADD "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\policies\system" /v EnableLUA /t REG_DWORD /d 0x0 /f
reg Add "HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Sideshow" /v Disabled /t REG_DWORD /d 0x1 /f

rem Using Powershell to perform Windows Services modifications
Powershell Set-Service 'BDESVC' -startuptype "disabled"
Powershell Set-Service 'wbengine' -startuptype "disabled"
Powershell Set-Service 'DPS' -startuptype "disabled"
Powershell Set-Service 'UxSms' -startuptype "disabled"
Powershell Set-Service 'Defragsvc' -startuptype "disabled"
Powershell Set-Service 'HomeGroupListener' -startuptype "disabled"
Powershell Set-Service 'HomeGroupProvider' -startuptype "disabled"
Powershell Set-Service 'iphlpsvc' -startuptype "disabled"
Powershell Set-Service 'MSiSCSI' -startuptype "disabled"
Powershell Set-Service 'swprv' -startuptype "disabled"
Powershell Set-Service 'CscService' -startuptype "disabled"
Powershell Set-Service 'SstpSvc' -startuptype "disabled"
Powershell Set-Service 'wscsvc' -startuptype "disabled"
Powershell Set-Service 'SSDPSRV' -startuptype "disabled"
Powershell Set-Service 'SysMain' -startuptype "disabled"
Powershell Set-Service 'TabletInputService' -startuptype "disabled"
Powershell Set-Service 'Themes' -startuptype "disabled"
Powershell Set-Service 'upnphost' -startuptype "disabled"
Powershell Set-Service 'VSS' -startuptype "disabled"
Powershell Set-Service 'SDRSVC' -startuptype "disabled"
Powershell Set-Service 'WinDefend' -startuptype "disabled"
Powershell Set-Service 'WerSvc' -startuptype "disabled"
Powershell Set-Service 'MpsSvc' -startuptype "disabled"
Powershell Set-Service 'ehRecvr' -startuptype "disabled"
Powershell Set-Service 'ehSched' -startuptype "disabled"
Powershell Set-Service 'WSearch' -startuptype "disabled"
Powershell Set-Service 'wuauserv' -startuptype "disabled"
Powershell Set-Service 'Wlansvc' -startuptype "disabled"
Powershell Set-Service 'WwanSvc' -startuptype "disabled"

rem Making miscellaneous modifications
bcdedit /set BOOTUX disabled
vssadmin delete shadows /All /Quiet
Powershell disable-computerrestore -drive c:\
netsh advfirewall set allprofiles state off
powercfg -H OFF
net stop "sysmain"
fsutil behavior set DisableLastAccess 1

rem Making modifications to Scheduled Tasks
schtasks /change /TN "\Microsoft\Windows\Defrag\ScheduledDefrag" /Disable
schtasks /change /TN "\Microsoft\Windows\SystemRestore\SR" /Disable
schtasks /change /TN "\Microsoft\Windows\Registry\RegIdleBackup" /Disable
schtasks /change /TN "\Microsoft\Windows Defender\MPIdleTask" /Disable
schtasks /change /TN "\Microsoft\Windows Defender\MP Scheduled Scan" /Disable
schtasks /change /TN "\Microsoft\Windows\Maintenance\WinSAT" /Disable

The above is really meant to show the completeness of the script, rather than copying and pasting that I would use the script in the PDF referenced above in case of any updates or changes.

Additional Settings from Group Policy

The batch file above takes care of a lot of settings like disabling indexing on the drives, disabling disk defrag, and other services that consume unnecessary resources on the virtual desktop. I tweaked a few more things with the help of Group Policy. I’m running a forest level of 2008 R2 so be aware that if you are running a lower forest level, you might not have all these settings available. There are some settings that are specific to View Users and some settings that are specific to the View Desktops so I will break them out below. Keep in mind to apply these settings you will likely want an OU in your Active Directory that is dedicated to View Desktops and possibly one for View Users to help control where these settings are applied.

View Computer Policy

Policies: Windows Settings: Security Settings: Restricted Groups:
Group: MTELLIN\View Desktop Users Member of: BUILTIN\Remote Desktop Users
Policies: Administrative Templates:PCoIP Session Variables/Not Overridable Administrator Settings
Set the Minimum Image Quality value (50 for default) Setting: 50
Set the Maximum Initial Image Quality value (90 for default) Setting: 90
Set the Maximum Frame Rate value (30 for default) Setting: 15
Policies: Administrative Templates:System/System Restore
Policy: Turn off System Restore Setting: Enabled
Policies: Administrative Templates:Windows Components/Event Log Service/Application
Policy: Maximum Log Size Setting: 1024 (KB)
Policies: Administrative Templates:Windows Components/Event Log Service/Security
Policy: Maximum Log Size Setting: 20480 (KB)
Policies: Administrative Templates:Windows Components/Event Log Service/Setup
Policy: Maximum Log Size Setting: 1024 (KB)
Policies: Administrative Templates:Windows Components/Event Log Service/System
Policy: Maximum Log Size Setting: 1024 (KB)
Policies: Administrative Templates:Windows Components/Windows Defender
Policy: Turn Off Windows Defender Setting: Enabled
Policies: Administrative Templates:Windows Components/Windows SlideShow
Policy: Turn off automatic wake Setting: Enabled
Policy: Turn off Windows SlideShow Setting: Enabled
Policies: Administrative Templates:Windows Components/Windows Update
Policy: Configure Automatic Updates Setting: Disabled
Policies: Preferences: Windows Settings: Registry: Default: General
Action: Create
Hive: HKEY_USERS
Key Path: .DEFAULT\AppEvents\Schemes
Value Name: Default
Value Type: REG_SZ
Value Data: .NONE

That covers the Computer Policy, basically it is forcing a no sounds scheme with a registry entry, controlling the size of the event logs, setting some PCoIP settings that require an .adm file and making sure that any View users are in the Remote Desktop Group on the View desktop.

View User Policy

Policies: Windows Settings: Internet Explorer Maintenance: URLs/Important URLs
Policy: Home Page URL Setting: about:blank
Policies: Administrative Templates: Control Panel
Policy: Always open All Control Panel Items when opening Control Panel Setting: Enabled
Policies: Administrative Templates: Control Panel/Personalization
Policy: Enable screen saver Setting: Disabled
Policy: Prevent changing color scheme Setting: Enabled
Policy: Prevent changing desktop background Setting: Enabled
Policy: Prevent changing desktop icons Setting: Enabled
Policy: Prevent changing mouse pointers Setting: Enabled
Policy: Prevent changing screen saver Setting: Enabled
Policy: Prevent changing sounds Setting: Enabled
Policy: Prevent changing theme Setting: Enabled
Policy: Prevent changing visual style for windows and buttons Setting: Enabled
Policies: Administrative Templates: Desktop
Policy: Remove Computer icon on the desktop Setting: Disabled
Policies: Administrative Templates: Start Menu and Taskbar
Policy: Add Logoff to the Start Menu Setting: Enabled
Policy: Remove Balloon Tips on Start Menu items Setting: Enabled
Policy: Remove Default Programs link from the Start menu. Setting: Enabled
Policy: Remove Help menu from Start Menu Setting: Enabled
Policy: Remove Music icon from Start Menu Setting: Enabled
Policy: Remove Run menu from Start Menu Setting: Disabled
Policy: Remove the Action Center icon Setting: Enabled
Policy: Remove the volume control icon Setting: Enabled
Policy: Turn off all balloon notifications Setting: Enabled
Policies: Administrative Templates: Windows Components/Attachment Manager
Policy: Inclusion list for moderate risk file types Setting: .exe
Policies: Preferences: Control Panel Settings: Start Menu (Windows Vista): Start Menu (Windows Vista and Later): General: General
Policy: Number of programs in the Start menu Setting: 9
Policies: Preferences: Control Panel Settings: Start Menu (Windows Vista): Start Menu (Windows Vista and Later): General: Advanced Settings
Policy: Computer Setting: Display as a link
Policy: Connect to Setting: Yes
Policy: Control Panel Setting: Display as a link
Policy: Default Programs Setting: Do not display this item
Policy: Documents Setting: Display as a link
Policy: Enable context menus and dragging and dropping Setting: Yes
Policy: Favorites Setting: Do not display this item
Policy: Games Setting: Do not display this item
Policy: Help Setting: Do not display this item
Policy: Highlight newly installed programs Setting: No
Policy: Music Setting: Do not display this item
Policy: Network Setting: Display this item
Policy: Open submenus when I pause on them with the mouse pointer Setting: Yes
Policy: Personal Folder Setting: Display as a link
Policy: Pictures Setting: Display as a link
Policy: Printers Setting: Display this item
Policy: Run command Setting: Display this item
Policy: Search Setting: No
Policy: Search Communications Setting: No
Policy: Search Favorites and history Setting: Yes
Policy: Search files Setting: Search the user’s files
Policy: Search programs Setting: Yes
Policy: Sort All Programs menu by name Setting: Yes
Policy: System administrative tools Setting: Do not display this item
Policy: Use Large Icons Setting: Yes
Policy: List most recently used documents Setting: Yes
Policy: Clear recent documents list Setting: No
Policies: Preferences: Control Panel Settings: Start Menu (Windows Vista): Start Menu (Windows Vista and Later): Common
Policy: Stop processing items on this extension if an error occurs on this item Setting: No
Policy: Run in logged-on user’s security context (user policy option) Setting: Yes
Policy: Remove this item when it is no longer applied Setting: No
Policy: Apply once and do not reapply Setting: No
Policies: Preferences: Control Panel Settings: Internet Settings: Internet Explorer 8: Internet Explorer 8: General: Temporary Internet Files
Policy: Amount of disk space to use Setting: 10 MB
Policies: Preferences: Control Panel Settings: Internet Settings: Internet Explorer 8: Internet Explorer 8: General: History
Policy: Days to keep pages in history Setting: 2 days
Policies: Preferences: Control Panel Settings: Internet Settings: Internet Explorer 8: Internet Explorer 8: Common
Policy: Stop processing items on this extension if an error occurs on this item Setting: No
Policy: Run in logged-on user’s security context (user policy option) Setting: No
Policy: Remove this item when it is no longer applied Setting: No
Policy: Apply once and do not reapply Setting: No

And that’s it, it goes without saying but I would recommend testing these settings thoroughly before putting any of them into a production environment. If you have any other settings you use that I don’t have listed – I’d love to hear about them in the comments!

Popularity: 45% [?]

Links on vCloud Director and View 4.5

Some links to good articles on vCloud and View 4.5:

vCloud Director:

View 4.5:

If there are other good ones I should know about I’d love to know!

Popularity: 4% [?]