Navigation
- Roaming Profiles Overview
- Roaming Profile Shares:
- GPO Templates:
- GPOs:
- Computer Settings:
- User Settings:
Roaming Profiles Overview
VMware has three options for persisting user settings when the user logs off:
- View Persona can be used for virtual desktops. This is preferred over Microsoft’s roaming profiles. There is no confirmed date but Persona Management will be going away in the future.
- Microsoft Roaming Profiles – View Persona is not supported on Remote Desktop Session Host or Windows 10 so use Microsoft’s native roaming profiles instead.
- Microsoft’s Roaming Profiles do not merge settings from multiple sessions so if you have users connecting to multiple RDS farms then each RDS farm should have separate roaming profile shares.
- User Environment Manager – If you are licensed for Horizon Enterprise then you can use VMware’s User Environment Manager. This is a very configurable product that is generally preferred over Persona and Microsoft Roaming Profiles. It works on both virtual desktops and Remote Desktop Session Hosts.
- User Environment Manager runs on top of other profile solutions. User Environment Manager can run on top of mandatory profiles so that anything not saved by User Environment Manager is discarded on logoff.
- Or you can use User Environment Manager to persist settings for specific applications and use roaming profiles (Persona or Microsoft) to persist the remaining settings.
- VMware has published a KB article 2118056 Migrate VMware Persona Management to VMware User Environment Manager.
Roaming Profiles File Shares
File Shares Summary
Detailed steps for creating the profile shares are detailed in the next sections. This section provides a summary of the required shares.
- In general, DFS Namespaces are supported for each of these shares but the namespace must point to only one target (no multi-master replication).
- The User Environment Manager Configuration folder can be replicated.
- Folder Redirection should be configured for all roaming profile methods. You can either create a new file share or you can redirect profile folders to the users’ home directories.
For All Profile Types, if you are not redirecting profile folders to the users’ home directories then create one file share for Folder Redirection:
- \\server\Redirect
- Admins = Full Control
- Users = Read/Execute, Create Folders – this folder only
- Creator Owner = Full Control
If User Environment Manager, create two file shares:
- \\server\UEMConfig – stores UEM configuration
- UEM Admins = Full Control
- UEM Users = Read
- UEM Support = Read
- \\server\UEMProfiles
- UEM Admins = Full Control
- UEM Support = Modify
- UEM Users = Read/Execute, Create Folders – this folder only
- Creator Owner = Full Control
If View Persona, create one file share for each operating system and bitness:
- \\server\PersonaWin7x64
- Persona Admins = Full Control
- Persona Users = Read/Execute, Create Folders – this folder only
- Creator Owner = Full Control
- \\server\PersonaWin10x64
- Persona Admins = Full Control
- Persona Users = Read/Execute, Create Folders – this folder only
- Creator Owner = Full Control
If Microsoft Roaming Profiles, create multiple file shares. Each RDS farm needs a separate profile share.
- \\server\RDSProfiles1
- View Admins = Full Control
- View Users = Read/Execute, Create Folders – this folder only
- Creator Owner = Full Control
- \\server\RDSProfiles2
- View Admins = Full Control
- View Users = Read/Execute, Create Folders – this folder only
- Creator Owner = Full Control
Create and Share the Folders
- On your file server, make sure file and printer sharing is enabled.
- On the file server that will host the file share, create a new folder and name it PersonaWin10x64, RDSProfilesFarm1, UEMConfig, or UEMProfiles or similar. If you need both Persona and Microsoft roaming profiles, create separate folders for each. If using UEM, create the UEM shares as summarized earlier.
- Open the folder’s Properties.
- On the Sharing tab, click Advanced Sharing.
- Check the box to share the folder.
- Click Permissions.
- Give Full Control to Everyone. Click OK.
- For Persona and RDSProfiles shares, click Caching.
- Select No files or programs. Click OK and then click Close.
Folder Permissions
The following procedure works for any of the profile and redirection folders listed in the file shares summary except for the UEMConfig folder.
Lieven D’hoore has VMware Horizon View – Script to create Persona Management Repositories, Shares and Permissions.
- Open the properties of the new shared folder.
- On the Security tab, click Edit.
- For the Everyone entry, remove Full Control and Modify. Make sure Write is enabled so users can create new folders.
- Add CREATOR OWNER and give it Full Control. This grants users Full Control of the folders they create. Click OK.
- Now click Advanced.
- Highlight the Everyone permission entry and click Edit.
- Change the Applies to selection to This folder only. Click OK three times. This prevents the Everyone permission from flowing down to newly created profile folders.
VMware Fling – Horizon View Persona Management Share Validation Tool:
- Download the tool and extract it.
- From a command line, run VMWVvpValidator.exe with the share parameter, the path to the Persona or RDSProfiles share, and the group that should have access to the share.
- This will create a VMWVvpValidatortxt file in the same folder that contains the executable. Open it.
- Scroll down and there should be no errors. If there are, fix them as detailed in the report.
Access Based Enumeration
Also enable access based enumeration. With this setting enabled, users can only see folders to which they have access.
- In Server Manager, on the left, click File and Storage Services.
- If you don’t see Shares then you probably need to reboot.
- Right-click the new share and click Properties.
- On the Settings page, check the box next to Enable access-based enumeration.
GPO Templates
Windows Group Policy Templates
Unfortunately there are some differences between the GPO templates for 2012 R2 and the GPO templates for Windows 8.1/10. You’ll need to download the full set of templates.
Follow the procedure at http://www.carlstalhood.com/group-policy-objects-vda-computer-settings/#admtemp to download and install the Administrative Templates for Windows 10.
Horizon View Templates
Some of the policy settings in this topic require loading templates from Horizon 6 View GPO Bundle, which can be downloaded from VMware.com.
User Environment Manager Templates
If you are licensed for User Environment Manager, copy the templates to PolicyDefinitions.
- Go to the extracted User Environment Manager files and in the Administrative Templates (ADMX) folder, copy the files and the folder.
- Go to your sysvol (e.g. \\corp.local\sysvol) and in the corp.local\Policies folder, if you have a PolicyDefinitions folder, paste the files in this folder.
- If you don’t have PolicyDefinitions in your sysvol then you can alternatively paste them to C:\Windows\PolicyDefinitions on the machine where you are running Group Policy Management Console. However, if you edit group policy from a different machine then you’ll need to copy the files there too.
Create Group Policy Objects
- Within Active Directory Users and Computers, create a parent Organizational Unit (OU) to hold all Horizon View computer objects (virtual desktops and Remote Desktop Session Hosts).
- Then create sub-OUs, one for each pool or RDS Farm.
- Move the Horizon 6 Agent machines from the Computers container to one of the OUs created in step 2.
- Within Group Policy Management Console, create a Group Policy Object (GPO) called Horizon 6 Agent Computer Settings and link it to the parent OU created in step 1. If this policy should apply to all pools then link it to the parent OU. Or you can link it to pool-specific sub-OUs.
- Modify the properties of the GPO, on the Details tab, so that the User Configuration portion of the GPO is disabled. User settings do not belong in this GPO.
- Create and link two new GPOs to the Session host OU (in addition to the Horizon 6 Agent Computer Settings GPO). One of the GPOs is called Horizon 6 Agent All Users (including admins) and the other is called Horizon 6 Agent Non-Admin Users (lockdown). The Non-Admin Users GPO can either be linked to the parent OU or to the session host sub-OUs. Locking down sessions is more common for Remote Desktop Session Hosts.
- Modify the properties of both of these GPOs and disable the Computer Configuration portion of the GPO.
- Click the Horizon 6 Agent Non-Admin Users GPO to highlight it.
- On the right, switch to the Delegation tab and click Add.
- Find your Horizon Admins group and click OK.
- Change the Permissions to Edit settings and click OK.
- Then on the Delegation tab click Advanced.
- For Horizon Admins, place a check mark in the Deny column for the Apply Group Policy permission. If desired, you can also deny the GPO to Domain Admins and Enterprise Admins. Click OK.
- Click Yes when asked to continue.
- For the other two GPOs, add Horizon Admins with Edit Settings But don’t deny Apply Group Policy. The deny entry is only needed on the Lockdown GPO.
GPOs for Roaming Profiles (Persona and RDS)
You will need separate profile configurations for each View Agent type (virtual desktops, RDS, operating system version, operating system bitness, etc.) Each profile configuration needs a different GPO. Note: if you are licensed for User Environment Manager then you can skip this section.
- Right-click one of the Remote Desktop Session Host sub-OUs and create a new GPO.
- Name it Horizon 6 Agent RDS Farm 1 Profiles or similar. This policy will use Microsoft’s native roaming profiles instead of View Persona. Note: each RDS farm should have a separate roaming profile share.
- Select the new GPO to highlight it. On the right, on the Delegation tab, add the Horizon Admins group and give it Edit Settings permission.
- If you have additional Remote Desktop Session Host sub-OUs (one for each RDS Farm), right-click one of them and create another GPO with a different name. Each RDS Farm needs a different profile path.
- Right-click a virtual desktop sub-OU and click Create a GPO in this domain.
- Name it Horizon 6 Agent Persona Win7 or similar and click OK. Each operating system version should point to a different file share so include the operating system version in the GPO name.
- Select the new GPO to highlight it. On the right, on the Delegation tab, add the Horizon Admins group and give it Edit Settings permission.
- If you have additional virtual desktop sub-OUs of the same operating system, right-click the OU and click Link an Existing GPO.
- Select the Horizon 6 Agent Persona Win7 GPO and click OK.
- For desktop pools running a different operating system, create a new Persona GPO. Each Persona GPO will point to a different share.
- Since Windows 10 does not support Persona you’ll need to either use regular Microsoft Roaming Profiles or use VMware User Environment Manager if you are licensed for it.
- For the Windows 10 GPO, you can configure the roaming profile path at Computer Config > Policies > Admin Templates > System > User Profiles > Set roaming profile path for all users logging onto this computer. Or you can configure the profile path for each user in Active Directory.
- The final group policy object framework will look like this: some GPOs linked to the parent OU and pool-specific GPOs linked to the sub-OUs. Each sub-OU needs different GPOs for different roaming profile configurations.
Agent Computer Settings
These GPO settings should be applied to the Horizon 6 Agents.
General Computer Settings
- Right-click the Horizon 6 Agent Computer Settings GPO and click Edit.
- Configure the GPO Computer Settings as detailed at http://www.carlstalhood.com/group-policy-objects-vda-computer-settings/#computer.
- In addition, VMware 2121183 Response to CVE-2015-4000 (a.k.a., Logjam) for Horizon View and Horizon 6 products has a list of recommended ciphers for Windows. These ciphers are configured at Computer Configuration > Administrative Templates > Network > SSL Configuration Settings > SSL Cipher Suite Order.
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256,
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384,
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256,
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384,
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256,
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384,
TLS_RSA_WITH_AES_128_CBC_SHA256,
TLS_RSA_WITH_AES_128_CBC_SHA,
TLS_RSA_WITH_AES_256_CBC_SHA256,
TLS_RSA_WITH_AES_256_CBC_SHA,
TLS_RSA_WITH_RC4_128_SHAThe article also details how to enable TLS 1.2 in Windows.
Remote Desktop Users Group
- Right-click the Horizon 6 Agent Computer Settings GPO and click Edit.
- Under Computer Config > Windows Settings > Security Settings, right-click Restricted Groups and click Add Group.
- Browse to the group of users (e.g. Domain Users) that will be added to the Remote Desktop Users group on the virtual desktops. Click OK.
- In the bottom half of the window, click Add to specify that this group is a member of:
- Enter Remote Desktop Users and click OK twice.
User Environment Manager Group Policy
User Environment Manager works for both virtual desktops and Remote Desktop Session Hosts so there’s no need to configure separate profiles for both of those environments.
Also, the User Environment Manager GPO settings are user settings, not computer settings.
From Chris Halstead VMware User Environment Manager (UEM) – Part 1 – Overview / Installation and VMware Deployment Guide VMware User Environment Manager Deployed in 60 Minutes or Less:
- Make sure Prevent access to registry editing tools is not enabled in any GPO. This setting prevents the FlexEngine from operating properly.
- User Environment Manager requires one computer setting. Edit the Horizon 6 Agent Computer Settings GPO.
- Go to Computer Configuration | Policies | Administrative Templates | System | Logon.
- Double-click Always wait for the network at computer startup and logon.
- Enable the setting and click OK.
- Close the group policy editor.
- The remaining settings are user settings. Edit the Horizon 6 Agent All Users GPO. This GPO should apply to the Horizon 6 Agents and Loopback processing should already be enabled on those machines.
- Go to User Configuration | Policies | Administrative Templates | VMware UEM | FlexEngine.
- If you are running User Environment Manager on top of mandatory profiles then double-click Certificate support for mandatory profiles.
- Enable the setting and click OK.
- Double-click Flex config files.
- Enter the setting.
- Enter \\server\uemconfig\general. The general folder will be created by User Environment Manager. Click OK.
- Double-click FlexEngine Logging.
- Enable the setting.
- Enter \\server\uemprofiles\%username%\logs. User Environment Manager will create these folders. Click OK.
- Double-click the setting Profile archive backups.
- Enable the setting.
- Type in \\server\uemprofiles\%username%\backups.
- Enter the number of desired backups, check the box for daily bakups, and click OK.
- Double-click Profile archives.
- Enable the setting.
- Type in \\server\uemprofiles\%username%\archives and click OK.
- Double-click the setting RunFlexEngine as Group Policy Extension.
- Enable the setting and click OK.
- Go to User configuration | Policies | Windows Settings | Scripts (Logon/Logoff).
- Double-click Logoff.
- Click Add.
- In the Script Name field, enter C:\Program Files\Immidio\Flex Profiles\FlexEngine.exe.
- In the Script Parameters field, enter -s.
- Click OK.
- Click OK.
User Environment Manager is configured in a separate console application. See the instructions at http://www.carlstalhood.com/vmware-user-environment-manager/.
Persona Configuration
This section does not apply to Remote Desktop Session Hosts or Windows 10 Agents.
If you are using User Environment Manager with Mandatory profiles then skip this section.
Roaming profiles (Persona) are optional for persistent virtual desktops. They are most applicable to non-persistent virtual desktops.
- VMware article 2105270 – Verify that ICMP is enabled between the View desktop and the domain controller, and as well as the View desktop and the Persona Management Repository
- Edit one of the Horizon 6 Agent Persona GPOs that applies to the virtual desktops (not Remote Desktop Session Hosts).
- In the View Desktops GPO, go to Computer Configuration > Policies. Right-click Administrative Templates and click Add/Remove Templates.
- Click Add.
- Browse to the downloaded Horizon View GPO Bundle 3.5.0. Select the ViewPM.adm file and click Open and then click Close.
- Configure the following GPO settings:
- Administrative Templates | System | User Profiles
- Add the Administrators security group to roaming user profiles = enabled
- Do not check for user ownership of Roaming Profile Folders = enabled
- Administrative Templates | System | User Profiles
- Go to Computer Configuration > Policies > Administrative Templates > Classic Administrative Templates > VMware Horizon 6 Agent Configuration > Persona Management > Roaming & Synchronization.
- On the right, double-click Manage user persona.
- Enable the setting. It defaults to 10 minutes. Click OK.
- Double-click Persona repository location and enable the setting.
- Enter the path to the file share created for Persona. Append %username%.
- Check the box next to Override Active Directory user profile path. Click OK.
- Double-click Roam local settings folders and enable it. Click OK.
- Double-click Files and folders excluded from roaming and enable it. Then click Show.
- Enter the values shown below and then click OK twice.
$Recycle.Bin
Tracing
AppData\LocalLow
AppData\Local\GroupPolicy
AppData\Local\Packages
AppData\Local\Microsoft\Office\15.0\Lync\Tracing
AppData\Local\Microsoft\Windows\Temporary Internet Files
AppData\Local\Microsoft\Windows\Burn
AppData\Local\Microsoft\Windows\CD Burning
AppData\Local\Microsoft\Windows Live
AppData\Local\Microsoft\Windows Live Contacts
AppData\Local\Microsoft\Terminal Server Client
AppData\Local\Microsoft\Messenger
AppData\Local\Microsoft\OneNote
AppData\Local\Microsoft\Outlook
AppData\Local\Windows Live
AppData\Local\Temp
AppData\Local\Sun
AppData\Local\Google\Chrome\User Data\Default\Cache
AppData\Local\Google\Chrome\User Data\Default\Cached Theme Images
AppData\Local\Google\Chrome\User Data\Default\JumpListIcons
AppData\Local\Google\Chrome\User Data\Default\JumpListIconsOld
AppData\Roaming\Sun\Java\Deployment\cache
AppData\Roaming\Sun\Java\Deployment\log
AppData\Roaming\Sun\Java\Deployment\tmp - Double-click Files and folders excluded from roaming (exceptions) and enable it. Then click Show.
- Enter the exceptions shown below and click OK twice.
AppData\LocalLow\Sun\Java\Deployment\security\exception.sites
AppData\LocalLow\Sun\Java\Deployment\security\trusted.certs
AppData\LocalLow\Sun\Java\Deployment\deployment.properties - Configure %AppData%\Thinstall as a folder to background download. If they are using Thinapps, this will speed up the launch time of Thinapps. If they aren’t there is no harm done.
RDS Roaming Profiles
This section applies to Remote Desktop Session Hosts, not virtual desktops.
If you are using User Environment Manager with Mandatory profiles then skip this section.
- Edit the Horizon 6 Agent RDS Farm1 Profiles GPO.
- Configure the following GPO settings.
- Administrative Templates | System | User Profiles
- Add the Administrators security group to roaming user profiles = enabled
- Delete cached copies of roaming profiles = enabled
- Do not check for user ownership of Roaming Profile Folders = enabled
- Administrative Templates | System | User Profiles
- Go to Computer Configuration > Policies > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Profiles.
- On the right, open the setting Set path for Remote Desktop Services Roaming User Profile.
- Enable the setting and enter the path to the file share. Do not append %username%.
- If you haven’t already done this in a parent OU, also configure the Remote Desktop Services settings as detailed at http://www.carlstalhood.com/group-policy-objects-vda-computer-settings/#computer.
- If you wish to enable the Aero style for Remote Desktop Session Host sessions, go to User Configuration > Policies > Administrative Templates > Control Panel > Personalization.
- Open the setting Force a specific visual style file.
- Enable the setting and enter the following path:
%windir%\resources\Themes\Aero\aero.msstyles
-
VMware recommends enabling RunOnce as detailed at http://www.carlstalhood.com/group-policy-objects-vda-user-settings/#runonce.
PCoIP Configuration
Steve Dunne:
- Horizon View 6 PCoIP – WAN, Limited Bandwidth, Optimise, Tune contains PCoIP optimization settings and their results through a WAN emulator.
- PCoIP Sizing and What’s New from VMworld 2013\2014
Here are some general PCoIP optimization settings:
- Right-click the Horizon 6 Agent Computer Settings GPO and click Edit.
- In the View Desktops GPO, go to Computer Configuration > Policies. Right-click Administrative Templates and click Add/Remove Templates.
- Click Add.
- Browse to the downloaded Horizon View GPO Bundle 3.5.0. Select the pcoip.adm file and click Open and then click Close.
- Expand Administrative Templates > Classic Administrative Templates > PCoIP Session Variables. Click Overridable Administrator Defaults.
- On the right, double-click Configure clipboard redirection.
- Enable the setting and select Enabled in both directions. Click OK.
- Double-click Configure the PCoIP session audio bandwidth limit. For WAN connection users, VMware recommends setting this to 100 – 150 Or you can start with 300 Kbps and reduce as needed.
USB Redirection Settings
VMware TechPaper USB Device Redirection, Configuration, and Usage in View Virtual Desktops details the following:
- PCoIP zero clients use a PCoIP virtual channel for USB. No extra network ports needed.
- All other PCoIP clients, including Windows, Mac, etc., use TCP 32111 between the View Client and the Horizon 6 Agent.
- If Secure Tunnel is enabled, the USB traffic is sent to the Horizon 6 Security Server on TCP 443. It is then forwarded to the Horizon 6 Agent on 32111.
- USB performance across the WAN can be slow.
- Webcams are only supported using RTAV (Real-Time Audio-Video).
- USB3 uses too much bandwidth for most WANs. USB3 is supported in Horizon 6 Agent 6.0.1 and Horizon Client 3.1.
- Linux clients do not let you choose USB devices. Instead, all USB devices are redirected.
- USB device redirection can be filtered. Multi-interface USB devices can be split. See the TechPaper for details.
- In Horizon 6.1 and Horizon Client 3.3, USB storage devices can be redirected to Remote Desktop Session Host.
- Client Downloadable only GPO settings are downloaded to the View Client when the View Client first connects to the Horizon 6 Agent.
- USB GPO Settings on the Horizon 6 Agent can either override or merge the View Client USB GPO settings. Merge means that if View Client settings exist then the Horizon 6 Agent settings are ignored.
- The Exclude All Devices setting is overridden by other Include
- USB Redirection logs are located at %PROGRAMDATA%\VMware\VDM\logs\debug-*.txt. Look for <vmware-view-usbd>
- How to configure USB Redirection rules on Windows, Mac, and Linux.
If you intend to use the Real-Time Audio-Video feature, then disable USB redirection of audio and video so it is instead accessed through the optimized virtual channel. RTAV and USB Redirection do not apply to Remote Desktop Session Host.
You can also use this procedure to block USB storage devices from being mapped.
- Right-click the Horizon 6 Agent Computer Settings GPO and click Edit.
- In the View Desktops GPO, go to Computer Configuration > Policies. Right-click Administrative Templates and click Add/Remove Templates.
- Click Add.
- Browse to the downloaded Horizon View GPO Bundle 3.5. Select the vdm_agent.adm file and click Open and then click Close.
- Expand Administrative Templates > Classic Administrative Templates > VMware View Agent Configuration and click View USB Configuration.
- On the right, double-click Exclude Device Family.
- Change the selection to Enabled.
- Enter o:audio-in;o:video.
- If you want to block USB storage devices, add o:storage to the list. Click OK.
HTML Blast Settings
HTML Blast by default only allows clipboard redirection from client-to-server. This can be changed in group policy.
- Right-click the Horizon 6 Agent Computer Settings GPO and click Edit.
- In the View Desktops GPO, go to Computer Configuration > Policies. Right-click Administrative Templates and click Add/Remove Templates.
- Click Add.
- Browse to the downloaded Horizon View GPO Bundle 3.5. Select the vdm_blast.adm file and click Open and then click Close.
- Expand Administrative Templates > Classic Administrative Templates and click View Blast.
- On the right, double-click Configure clipboard redirection.
- Enable the setting and then make your choice. Click OK.
User Lockdown Settings
Edit the Horizon 6 Agent Non-Admin Users GPO and configure the settings detailed at http://www.carlstalhood.com/group-policy-objects-vda-user-settings/#lockdown.
User Application Settings
Edit the Horizon 6 All Users GPO and configure settings for applications (Internet Explorer, Office, etc.) as detailed at http://www.carlstalhood.com/group-policy-objects-vda-user-settings/#ie and http://www.carlstalhood.com/group-policy-objects-vda-user-settings/#office2013.
Redirected Profile Folders
In addition to roaming profiles, also configure Redirected Profile Folders as detailed at http://www.carlstalhood.com/citrix-profile-management/#redirected. Anything redirected will not be copied locally by View Persona, RDS profiles, or VMware UEM.
VMware Flash Optimizer
- Horizon 6 Agent installs something called the Flash Optimizer. When a user launches Internet Explorer, a prompt is displayed to Enable the add-on. To get rid of this message, do the following.
- We need the add-on CLSID. In Internet Explorer, click the gear icon and click Manage add-ons.
- Highlight the VMware Adobe Flash Optimizer and click More information on the bottom left.
- Click Copy.
- Paste the contents into Notepad. Then look for the Class ID line and copy it.
- Edit the Horizon 6 Agent All Users GPO.
- Go to User Configuration > Policies > Administrative Templates > Windows Components > Internet Explorer > Security Features > Add-on Management.
- On the right, open Add-on List.
- Enable the setting and click Show.
- In the Value name field, paste in the Class ID, including the curly braces.
- In the Value field, enter 1 to force the add-on to be enabled. Click OK twice.
Related Pages
- Back to VMware Horizon 6