Workspace Environment Manager (previously Norskale as many people may be familiar with) is a recent acquisition by Citrix that will fill the gap when it comes to Citrix offering a UEM solution. WEM is available for all Enterprise and Platinum XA/XD customers with active Software Maintenance (Customer Success Services) and is available for download today. WEM 4.0 was the initial release.
Citrix quote using WEM in a Citrix environment could boost server scalability by 70% and reduce logon times by up to 80% so it would be rude not to have a look at this product and see what it is all about!
♣ Hardware and Software Requirements
♣ What’s new
♣ WEM Firewall Ports
♣ What has changed in WEM 4.3
♣ Install WEM Infrastructure Services
♣ Create WEM Database
♣ Broker Service Configuration
♣ Install WEM Administration Console
♣ Configure Licensing
♣ Import Setting Templates
♣ Install WEM Agent
♣ Point Agent to WEM Broker Server
♣ Connect to WEM Administration Console
♣ Add an Application (example)
♣ Add a Registry key (example)
♣ Import Registry keys (example)
♣ Import Printers (example)
♣ Create Directory (example)
♣ Apply settings to users using Rules and Conditions
♣ Modeling Wizard
♣ Resultant Actions Viewer
♣ System Optimization – Fast Logoff
♣ System Optimization – CPU Management
♣ System Optimization – Memory Management
♣ System Optimization – I/O Management
♣ Configuring Environment Settings
♣ Configuring Microsoft USV Settings
♣ Configuring Citrix UPM Settings
♣ Advanced Settings – Configuration – Main Configuration
♣ Configuring Agent Options
♣ Configuring Service Options
♣ Configuring UI Agent Personalization
♣ Configuring Helpdesk Options
♣ Power Saving Management – WEM Agent VMs
♣ Configure WEM Administrators
♣ Viewing WEM Connected Users
♣ Viewing WEM Connected Agents
♣ Administration Log
♣ Monitoring
♣ WEM Logging
♣ Creating additional WEM Sites
♣ WEM Transformer
♣ Upgrading WEM
♣ Migrating WEM database
♣ Documenting WEM Configurations
♣ VUEMAppCmd
♣ Troubleshooting
Hardware and Software Requirements
Citrix WEM consists of a Management Console, an Agent Host, a Broker and depends on Active Directory and SQL. For the sake of more detail:
- Citrix WEM Administration Console – This can be installed on a Windows client or Server OS. This console will be used to manage the WEM installation such as creating and managing policies, assigning and creating resources and so on. The WEM Administration Console connects to the broker.
- Software Prerequisites: .NET 4 (full package or client profile), Microsoft Sync Framework 2.1.
- OS Prerequisites: Windows XP SP3 32/64bit, Windows Vista SP1 32/64bit, Windows 7, 8 & 10 32/64bit, Windows Server 2003 32/64bit, Windows Server 2003 R2 32/64bit, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 (WEM 4.1).
- Hardware Prerequisites: Dual core processor at minimum with 2GB RAM. Disk space usage is also low at 40MB minimum and 100MB during install required.
- Note: Installing the WEM Administration Console on the following OS will not be supported in an upcoming Current Release of XenApp and XenDesktop (the next CR after the next LTSR):
- Windows XP SP3 32bit and 64bit.
- Windows Vista SP1 32bit and 64bit.
- Windows 8.x 32bit and 64bit.
- Windows Server 2003 32bit and 64bit.
- Windows Server 2003 R2 32bit and 64bit.
- Windows Server 2008 and 2008 R2.
- Note: Installing the WEM Administration Console on the following OS will not be supported in an upcoming Current Release of XenApp and XenDesktop (the next CR after the next LTSR):
- Citrix WEM Agent Host – The Agent Host connects to the broker or Infrastructure Services and enforces the settings configured through the WEM Administration Console. This can be installed on Windows Desktop OS VDAs to manage those VDAs or Server OS VDAs. This component cannot be installed on the Infrastructure Services server.
- Software Prerequisites: .NET 4 (full package or client profile), Microsoft Sync Framework 2.1.
- OS Prerequisites: Windows XP SP3 32/64bit, Windows Vista SP1 32/64bit, Windows 7, 8 & 10 32/64bit, Windows Server 2003 32/64bit, Windows Server 2003 R2 32/64bit, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 (WEM 4.1).
- Hardware Prerequisites: Average RAM consumption for the agent is 10MB. Disk space usage is also low at 40MB minimum and 100MB during install required.
- Citrix WEM Infrastructure Services – WEM Broker or Citrix WEM Infrastructure Services is installed on a Windows server acting as the connector between the Agent Host/Administration Console and SQL/Active Directory. This component cannot be installed on an Active Directory server.
- Software Prerequisites: .NET 4.5.2, SQL Server Compact Edition 3.5 SP3 (installed during setup), Microsoft Sync Framework 2.1 (installed during setup).
- OS Prerequisites: Windows Server 2008 R2, Windows Server 2012 R2, Windows Server 2016 (WEM 4.1).
- Hardware Prerequisites: 4vCPUs, 8GB and a minimum of 80MB disk space for up to 3000 users.
- SQL Server – WEM stores all settings within a SQL database. The SQL database must be a minimum of 50Mb in size. WEM requires sysadmin access to the SQL server instance during creation of the database and read/write access going forward for usage. SQL Server 2008 R2 or later is supported.
- Active Directory – To push settings to your users AD is required. WEM required read access to AD to push configured settings out to users.
- Citrix License Server – WEM requires Citrix License Server 11.14 or later for the current WEM 4.0/4.1 release.
- XenApp/XenDesktop – Any currently supported version of XenApp and XenDesktop will work with WEM 4.0/4.1.
Note: WEM will not be supported on .NET Framework 4.0, 4.5 and 4.5.1 once the next Current Release is released after the next LTSR.
Antivirus requirements – The entire installation directory for the WEM Agent Host and WEM Infrastructure Services must be excluded from on access scanning. If not possible, the following services must be excluded from on access scanning.
- Infrastructure Services – NorksaleBrokerService.exe, NorksaleBrokerServiceConfigurationUtility.exe, NortksaleDatabaseManagementUtility.exe.
- Agent Host – Norksale Agent Host Service.exe, VUEMUIAgent.exe, Agent Log Parser.exe, AgentCacheUtility.exe, AppsMgmtUtil.exe, PrnsMgmtUtil.exe, VUEMAppCmd.exe, VUEMAppCmdDbg.exe, VUEMAppHide.exe, VUEMCmdAgent.exe, VUEMMaintMsg.exe, VUEMRSAV.exe.
What’s new
What’s new in WEM 4.1:
- Transformer module re-enabled
- Agent Host communication improvement (communication now occurs from WEM Broker Service to Agent Host Service)
What’s new in WEM 4.2:
- Support for Profile Management up to v5.6 including new options in the Administration Console to manage Profile Management.
What’s new in WEM 4.3:
- User interface improvements by renaming labels, and messages in the installation wizards for example.
- The session agent user interface is not localised in the following languages: German, Spanish, French, Italian, Japanese, Korean, Dutch, Russian, Traditional and Simplified Chinese.
- Sites are now assigned to machines, or Security Groups, or Organisational Units.
What’s new in WEM 4.4:
- A new Security tab has been introduced to the WEM Management Console which contains settings controlling end-user activity.
- The Process Management controls have been moved to the above new Security tab.
- The Database Maintenance tab has a new setting called Agent registrations retention period which allows agent registration logs to be deleted after a defined period of time. This reduces the size of the database and reduces lag when populating the Registrations tab.
- Support for Profile Management 7.15.
- Infrastructure Services by default sends anonymous data to Google Analytics. You can opt out of this from within the WEM Management Console.
What’s new in WEM 4.5:
- Application Security. Similar to AppLocker but provides some additional functionality. This Application Security feature allows you to control the applications users are permitted to run by defining rules in WEM.
- SDX PowerShell Modules and the ability to run some administrative tasks via PowerShell.
- Support for SQL Always On availability groups.
- Intelligent Optimisation is now user-centric. If a process infringes a rule for a particular user, the process is optimised only for that user rather than for all users as was the case with previous versions.
- Intelligent Optimisation history is now moved to the local database (LocalAgentDatabase).
What’s new in WEM 4.6:
- You can publish Citrix StoreFront resources as appplication shortcuts in WEM, allowing you to configure Start Menu shortcuts on VDAs that have the WEM Agent installed.
- Transformer is now integrated with the Receiver for Windows SDK.
- Active Directory performance improvements have been made, and are noticeable especially when adding AD objects to WEM.
- The administrative templates provided to configure the WEM Agent have been renamed to make the filenames versionless.
- The administration console UI has been tweaked:
- There is a new StoreFront tab under Advanced Settings -> Configuration.
- There is a new Advanced pane in Active Directory Objects and a new option called Active Directory search timeout on the AD Settings tab.
What’s new in WEM 4.7:
- PowerShell modules in the WEM SDK are updated at this release.
WEM Firewall Ports
Source | Destination | Port | Reason |
Infrastructure Services | Agent Host | TCP 49752 | Agent Host listens for instructions from Infrastructure Services on this port. |
Administration Console | Infrastructure Services | TCP 8284 | For Administration Console connectivity to Infrastructure Services. |
Broker Agent | Infrastructure Services | TCP 8286 | Agent connects to Infrastructure Services on this port. |
Broker Agent Cache Synchronization Process | Infrastructure Services | TCP 8285 | Agent synchronizes the agent cache with Infrastructure Services on this port. |
Infrastructure Services | Citrix License Server | TCP 27000 | Infrastructure Services connects to the License Server on this port. |
Monitoring Service | Infrastructure Services | TCP 8287 | Used by the Monitoring Service on Infrastructure Services servers. Not yet in use. |
What’s changed in WEM 4.3
Some things have changed in WEM 4.3 mainly within the Administration Console that you should be aware off.
Sites have now been renamed to Configuration Sets. Other than that, everything else is the same including the method to create additional Configuration Sets.
Agents who are pointed to the Infrastructure Servers without any extra configuration now display under Administration -> Agents -> Registrations. This agent is currently not bound to any Configuration Set.
The Agent itself will not be able to sync due to not being able to identify a Configuration Set.
To associate a machine with the Configuration Set, you have to navigate to Active Directory Objects (previously named Users) and then click on Machines. Here you add machines to your Configuration Set. You can add Organizational Units which will add every member of that OU to the Configuration Set, you can also add individual machine accounts or groups of computers. In this example, I’ll add an OU. Click Add OU.
Select the desired OU and click OK.
The OU will appear as below.
Now refresh the cache on the Agent host machine. The VDA will now report with a green tick to indicate that it is bound to the Default Site Configuration Set. If machines are bound to multiple Configuration Sets for example you’ll get an error here, this allows you to easily identify such machines and perform correction.
Install WEM Infrastructure Services
Launch the Citrix Workspace Environment Management Infrastructure Services v4.00.00.00 Setup.exe installer.Click Install. Some of the prerequisites are installed for you. Click Next. Accept the License Agreement, click Next. Click Next. Click Next. If you want to change the install directory choose Custom. Click Install. Now click Finish. If you want to specify the Agent Port, Admin Port or AgentSyncPort during install you can do so using the command line. The following switches are available to be used:
- AgentPort – Default agent port is 8286 however using this switch you can specify a different port. This port will be opened locally on the firewall of the Windows Server during install.
- AdminPort – Default admin port is 8284 however using this switch you can specify a different port. This port will be opened locally on the firewall of the Windows Server during install.
- AgentSyncPort – Default agent sync port is 8285 however using this switch you can specify a different port. This port will be opened locally on the firewall of the Windows Sever during install.
Example command line install: “Citrix Workspace Environment Manager Infrastructure Services v4.00.00.00 Setup.exe” /v”AgentPort=\”8288\””
If you are going to use Windows Authentication and load balance Infrastructure Services, you must create an SPN using the following command:
setspn -U -S Norskale/BrokerService [accountname]
If you are just going to use Windows Authentication or do not plan on using Windows Authentication you must create an SPN with the following command:
setspn -C -S Norskale/BrokerService [hostname]
Note: You must use Windows Authentication when load balancing Infrastructure Services. Each server must be configured to use the same account name.
Create WEM Database
Now on the Start Menu locate and launch Database Management. Click Create Database. Click Next.Enter your SQL server name and choose the database name for WEM. Analyse the Log File and Data File location. The wizard best estimates the location of the SQL server data folder however this may be incorrect. Make sure these paths are correct and match your SQL server to avoid database creation failure. If the directories shown below do not exist, database creation will fail. Click Next. The Database Creation Wizard requires an account with sysadmin rights on the SQL instance to create the database. By default, the account you use to run the Database Creation Wizard will be used however you do have the option to specify a SQL account that has sysadmin rights.Specify the VUEM Administrators Group for users who are Full WEM Administrators and can use the WEM Administration Console. Use a service account for the Broker Service Account which will be used to run the Norskale Infrastructure Service service. Make sure you are not running this wizard from the Broker Service Account. If your SQL Users require strict complex passwords, you can set a specific password for vuemUser and then click Next. The default password set is 8 characters in length consisting of lower and uppercase characters including digits and punctuation. If you specify a password, then you will need to configure the same password for the vuemUser account when running through the Broker Configuration later so keep this in mind. If you are using AlwaysOn SQL availability, then you must specify a password here as it will be required when adding the database to an availability group.Make sure the broker service account has Log on as a service rights on the WEM Infrastructure Services server. Review all settings and then click Create Database. The database creation occurs.
If you get a database creation failure, review the log file under C:\Program Files (x86)\Norskale\Norskale Infrastructure Services\Citrix WEM Database Management Utility Debug Log.txtClick OK. Click Finish.
Broker Service Configuration
Next you have to configure the Infrastructure Services using the Broker Service Configuration utility found on the Start Menu of your Infrastructure Services server. Enter the Database Server and Name as below on the Database Settings tab including failover database if you are using DB mirroring.
On the Network Settings tab if you changed any of the ports during the Infrastructure Services install such as the Admin Broker port then enter the same port numbers here.
On the Advanced Settings tab tick to enable Windows Account Impersonation and use the Broker account if you are not using SQL Mixed Mode Authentication. If you are using MMA you can leave this option unticked and the vuemUser SQL account created during database creation will be used for connections to the database. Specify the SQL user password if you manually specified one during database creation. If you did not, then leave this unticked. You can also change:
- Broker Cache Refresh Delay (15 minutes by default) and the cache is used if SQL is offline/unavailable or WEM Infrastructure Services is unavailable.
- Broker SQL State monitor (15 seconds by default) which is how often the broker attempts to poll the SQL server.
- Enable debug mode to enable verbose logging on WEM Infrastructure Services.
- Use Cache Even if Online meaning WEM Infrastructure Services reads site settings from its cache even when SQL is available.
Over on the Database Maintenance tab you can specify to enable scheduled database maintenance cleaning up any old statistic records from the database every number of days. The default retention for statistical data is 365 days. The system monitoring retention period is 90 days and the maintenance occurs at 2AM.
Using the global license override setting to specify a Citrix license server which overrides what is set within the WEM Administration Console. Once you have specified all your required settings across all tabs click the Save Configuration button.
The broker service will restart, and we are now ready to install the Management Console.
Install WEM Administration Console
Launch Citrix Workspace Environment Management Console v4.00.00.00 Setup.exe.
Click Next.
Accept the License Agreement. Click Next.
Click Next.
Select Next. Choose Custom if you wish to specify an install location manually.
Click Install.
Click on Finish.
Now launch the management console. Click Connect.
Enter the broker server name and port. Click Connect.
Click OK on the below warning. We can configure the license server shortly using the Administration Console.
Configure Licensing
Click on Configure license server.
Enter the Citrix license server name and port. Click OK. Note: If your license expires, you’ll not be able to use the WEM Console, but agents will continue to operate.
Import Setting Templates
Next, we can import quickstart settings from templates that will configure WEM with default recommended settings giving us a good baseline to get started. There is also a template for environmental lockdown settings based on best practice recommendations. Click Import Settings.
Click Next.
Browse to the Configuration Templates folder located within the installation media. There are three templates that you can import:
- Default Recommended Settings – This template imports recommended System Optimization, Agent Configuration and System Monitoring settings for CPU and memory management, agent offline mode, asynchronous printers processing etc.
- Environment Lockdown Example – This template imports Environmental Settings specifying lockdown actions based on best practice such as hiding administrative tools, control panel and the recycle bin.
- Sample Applications – This template imports sample application shortcuts however don’t seem to be working at this time.
Check the boxes next to each settings type you want to import and click Next.
Click Import Settings.
Click Yes.
Click Finish.
Finally install the WEM Agent Host component.
Install WEM Agent
This piece of software will be installed on the VDA making sure any environmental setting configured within WEM is enforced on the client.
Launch Citrix Workspace Environment Management Agent v4.00.00.00 Setup.exe.
Click Install. Some prerequisites are installed for you.
Click Next.
Accept the License Agreement. Click Next.
Click Next.
Click Next. Choose Custom if you want to specify an installation directory yourself.
Click Install.
Click Finish.
Several line arguments are available to be used when installing the Agent Host. Some example arguments:
- WaitForNework – Accepted values are 0 or 1, 0 meaning inactive and 1 meaning active. By default, this key is not created.
- SyncForegroundPolicy – Accepted values are 0 or 1, 0 meaning inactive and 1 meaning active. By default, this key is not created.
- GpNetworkStartTimeoutPolicyValue – By default the value is 30 (seconds). You can specify a different number during install using this argument.
All three keys above are designed to make sure the VDAs receive the broker address GPO before logon. All keys are created under HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon during installation.
- APPSYSTEMCOMPONENT – Presents the Agent Host as a System component and removes the Agent Host listing from Add/Remove Programs.
- AgentCacheAlternateLocation – The cache file will be saved to the specified location rather than the Agent install directory. Useful for non-persistent machines.
- AgentServiceUseNonPersistentCompliantHistory – The agent service’s process optimisation history will be saved externally to an XML file in the same location as the Agent cache file rather than in the machine’s registry. Accepted value is 1. Useful for non-persistent machines.
- NOTE: Do not use this on Agents from v4.5+ onwards as persistent information is now stored in the agent local database.
Example command: “Citrix Workspace Environment Management Agent Setup.exe” /v”AgentCacheAlternateLocation=\”E:\AgentCache\”” /v”AgentServiceUseNonPersistentCompliantHistory=\”1\””
Changes to the registry values are made based on specified arguments.
The cache now resides on E:\AgentCache.
The Netlogon service is made dependant on the Norskale Agent Host service to ensure that the host service is always running before logons can be made.
Note: As mentioned the Netlogon service is made dependent on the Norskale Agent Host Service to ensure it does not start before the Norskale Agent Host Service is running. This is particularly important when using Citrix App Layering and PVS because the PVS Target Device Software (which you should be installing in the Platform Layer) also makes a change to the Netlogon service making it dependent on the BNDevice (Citrix PVS Device) service. So, when both PVS and WEM are used together, we end up with two services that must be running BEFORE Netlogon can run. Why is this a problem when PVS and WEM are used with App Layering? The DependOnService multi-string registry value is actually where dependencies are stored for each service running within Windows. So, this multi-string value is where both the Workspace Environment Management Agent (installed in Application Layer) and the PVS Target Device software (installed in Platform Layer) set their dependencies. They both edit the same DependOnService multi-string value. When you publish an image with these two layers combined, the WEM Agent Application Layer’s edit of DependOnService is overwritten by the Platform Layer edit. Since the Platform layer has the highest priority of all layers, it is simply overwriting the change made by WEM rather than merging. This means we end up with VDAs that have no Netlogon dependency set to Norskale Agent Host Service. To fix this, open a new Platform Layer version, navigate to RegEdit -> HKLM\SYSTEM\CurrentControlSet\Services\Netlogon and type without quotes “Norskale Agent Host Service” inside the DependOnService multi-String value. Now when you publish the image, the dependencies will be correct for both WEM and PVS.
I reached out to Citrix (the ex-Unidesk guys) on this one and they confirmed their code does not contain what is required to merge multiple values together for anything set within DependOnService under the Netlogon key. In a future release of Citrix App Layering, values created under Netlogon from multiple layers including the Platform Layer will be merged. For now, use the workaround above.
Point Agent to WEM Broker Server
Clients (VDAs) need to know where to find the broker server. For this you can use Group Policy however I recommend using the registry on each VDA that has a WEM Agent installed. Create a BrokerSvcName REG_SZ with a value of the WEM Infrastructure Services Load Balanced address under HKLM\SOFTWARE\Policies\Norskale\Agent Host\. If using GPOs, Grab the ADMX configuration files from the WEM install media.
Copy them in to the PolicyDefinitions Group Policy central store folder within SYSVOL on your Domain. Remove the ADM file as it is not needed. Also import the language file.
Now navigate to Computer Configuration -> Administrative Templates -> Citrix -> Workspace Environment Manager -> Agent Host Configuration -> Connection Broker Name.
Change the Connection Broker Name to Enabled and specify the broker server. The other settings such as Agent Port can be used to specify port numbers other than the default. For now I do not need to use these so will leave all others settings unconfigured.
Note: Assigning WEM 4.3+ agents to sites via GPO is not supported. In WEM 4.3+, you assign machines to Sites (now called Configuration Sets) using the WEM Administration Console.
If you want to manually force a cache update/rebuild on a VDA or create the cache before the Agent runs for the first time after an install, you can use the following command:
AgentCacheUtility.exe -RefreshCache -BrokerName servername. The Agent Cache Utility is found within the WEM Agent Host install directory. An optional switch -brokerport:port should be used if you have changed the default Infrastructure Services port of 8285.
Connect to WEM Administration Console
Firstly, launch he Citrix WEM Administration Console. Click Connect, enter your Infrastructure Services server name and specify the broker service port (default 8284).
Once connected click the About tab. Click Configure license server.
Enter the Citrix license server and port. Click OK.
Clicking Options on the About tab allows you to configure items such as:
- Auto Admin Logon – Console automatically connects to last broker it was connected to.
- Enable Debug Mode – Enables verbose logging for the administration console. Logs are created in the root of the currently logged on user’s profile.
- Console Skin – Change the skin (graphical look) of the administration console.
- Port Number – Allows you to change the port number used for administration console connection to broker service. Remember to update the port configured on the broker (Infrastructure Services) server.
Click on the Home tab. Here you will perform all of your WEM configurations. You have several directories listed such as:
Actions – Configure registry entries, virtual drives, printers etc. on agent host machines.
- Note that virtual drives let you map to a local location.
Filters – Filter actions based on rules and conditions such as if user if part of group then apply these rules.
Assignments – Assign created actions to configured users.
System Optimization – Configure CPU management, memory management, fast logoff for agent hosts etc.
Policies and Profiles – Configure UPM (Universal Profile Management), client lockdown settings i.e. hide administrative tools.
Configured Users – Import users from Active Directory to be used with WEM.
Advanced Settings – Agent logging options, printer processing, network drive clean-up options etc.
Administration – Configure WEM administrators, manage agents etc.
Monitoring – Login reports, boot reports, user and device reports.
Add an Application (example)
Click on Applications, click Add.
Enter the application name, location and where the application will exist on the users Start Menu etc. I am just creating a basic notepad application.
Clicking on the Options tab allows you to change the icon, application state (enabled/disabled), maintenance mode presents the icon as normal to the user but with a warning icon beside it and a warning message if the user tries to launch it. Hotkeys allow users to launch the application using keyboard shortcuts.
Advanced Settings controls how the application will appear when launched such as maximized. By default, applications appear within the WEM self-service window of the agent however you can disable this using the Do Not Show in Self Services checkbox. Enable Automatic Self-Healing will recreate application shortcuts if they have been deleted or moved by the user. Click OK. The application now appears within the Application List view. Just to show you the maintenance mode feature. When an application is in maintenance mode it will display as below to the user.When application is launched the following error is displayed. The application also receives a warning icon within the WEM Administration Console.
Add a Registry key (example)
Click on Registry Entries under Actions and click Add.
Registry entries can only be created under HKEY_CURRENT_USER. So, let’s create an entry to suppress the Citrix Receiver client add account popup on restart. Note that Target Path does not require HKEY_CURRENT_USERS to be entered in the path as this is handled automatically by WEM. Run Once as the name suggests runs this action once which may be desirable if you have lots of Registry entries as you would not want this key being recreated during every Agent refresh. This also allows users to change the key values if they prefer an application to behave differently to what the registry key specifies.
The Options tab allows you to specify if you are deleting, creating or setting an existing key. Click OK.
Import Registry keys (example)
You also have the option to import registry keys from a reg file. WEM reads the .reg file and gives you the option to import values of your choice. REG_BINARY values won’t be scanned because WEM does not support creating REG_BINARY keys. Use the Import Registry File action to import values.
Import Printers (example)
To import printers, you can either do so manually or simply connect to a Print Server using the Import Network Print Server button.
Enter the print server name and specify alternate credentials if the ones you are currently using for the WEM Administration Console do not have the appropriate permissions. Click Connect.Select one or multiple printers and click Import Selected.You can then edit imported printers changing the name, printer state (enabled/disabled) and if the printer will recreate if deleted using self-healing etc.
Create Directory (example)
Click on Folders and Files followed by Add. Here we can copy folders and files to the user’s environment and create directories etc. I’ll be creating a folder, so the Target Path is blank.
Note that you can use variables such as C:\Users\##Username##\ which will expand to the username WEM is running under. This can help when creating/copying files/folders to the user’s profile.On the Options tab you have several action types. Select Create Directory.
Apply settings to users using Rules and Conditions
To apply these settings to the user environment we need to first configure a set of users or group of users who will receive the actions and create some rules and assignments. Navigate to Configured Users -> Add. Enter a user name, multiple user names or preferably a group as I have done.Next click on Filters -> Conditions. By default, an Always True Condition and Rule is created however not in use. Click Add. Enter a name and select a condition type. Single or multiple conditions make up a rule. Conditions can be based on things such as the IP address of the VDA machine, the client OS version etc. Here I will choose Client IP Address Match so that VDA’s within the range specified will match this condition.
Enter the IP address range of your VDA machines and click OK. You can enter multiple single/ranges of IPs together.
Note: What you cannot do is combine multiple different IP Address Match filters under a single Rule expecting WEM to apply the rule based on IP one or else IP two. It does not work this way.
Below is an example of entering multiple IPs under the same filter:
192.168.1.100-192.168.1.200;192.168.2.100-192.168.2.200;192.168.3.40
Note: Make sure no space exists at the end of the IP address(s) in the Matching Result box.
Note: If you are matching on Computer Names/VDA names, you can use wildcards such as Desktop* or you can simply use the star * symbol to match all computers.
I created another condition which matches for users who are in the Citrix Desktop Users security group. Now we can use these conditions against a rule. Click on Rules and click on Add. Enter a rule name and toggle the two created conditions to the right. Click OK. If these two conditions match, then the rule is activated and allowed. Now click on Assignments. You will see any configured user/group here. Double click the entry and the list of available actions appear. Highlight an action and click the right-arrow to move it across to the Assigned section. Assign the Allow Rule filter that we just created to the action. This means that the action will apply if the Allow Rule is matched. All actions I have created are now assigned to the Citrix Desktop Users group. Any user who is a member of that group and logs on to a VDA within the 192.168.0.0/24 range should receive the actions. Navigate to Administration -> Agents, right-click your VDA and click Refresh Cache… to force a refresh of the cache. The VDA now has the latest copy of the cache.
Other options that can be used alongside the above option include:
- Refresh Agent Host Settings – This option will force the VDA to refresh machine based settings such as environmental settings.
- Refresh Workspace Agent(s) – This option will force the VDA to refresh user based settings such as actions.Next log on to the VDA, the conditions and rules should match and WEM will apply any assigned actions. The Copy folder appears within E:\. The printer appears. The test application appears within the Start Menu. The registry entry appears.
Modeling Wizard
You can also use the modeling wizard to check what actions will apply to a user (groups not allowed). Click Assignments -> Modeling Wizard. Click Next. Enter a user and click Next. The list of actions that will apply show.
Resultant Actions Viewer
The Resultant Actions Viewer is a client-side tool (installed on VDAs where the WEM Agent is installed) and is quite like server-side Modelling Wizard although this tool rather than telling you what should apply tells you what did apply to a user logged on.
When you log on to a VDA as a user, browse to C:\Program Files (x86)\Norskale\Norskale Agent Host and launch VUEMRSAV.exe.
Several tabs will be on display. The Resultant Actions Viewer displays what actions have been applied to your session, what actions have been excluded, what environmental settings have been applied. You can also view configured Agent Settings and Group Membership for the user.
What Environmental Settings have applied shows as below.
The Logs tab shows a copy of the Citrix WEM Agent.log found under %UserProfile%.
System Optimization – Fast Logoff
Navigate to System Optimization. Here you have a number of options. Firstly, on the Fast Logoff tab you can enable fast logoff. Fast Logoff logs a user off instantly and performs any additional logoff tasks in the background. This basically means the user is instantly disconnected and the logoff happens as normal behind the scenes. You can enable this and exclude specific groups from processing.
System Optimization – CPU Management
On the CPU Management tab, you have options such as:
Enable CPU Spikes Protection – Configured by the Default Recommended Settings template if imported. This option limits all processes from using more than the specified processor value. Limit Sample Time decides for how long a process can exceed the CPU Usage Limit before it’s priority is lowered, which a less aggressive approach compared to CPU clamping. The CPU Usage Limit (%) field defines how much percentage of CPU a process can use before it is pegged back. The Limit Sample Time (s) value defines how long in seconds a process can exceed the value set by CPU Usage Limit (%) before that process is set to Low Priority. If you have multiple CPUs, divide them up where 99% in the CPU Usage Limit field would be for one CPU but 49% is for two and 33% is for three CPUs.
The CPU Usage Limit percentage accounts for the CPU percentage of that total machine. For example, if you have a 4-core machine and you have set the CPU Usage Limit to 25%, that means a process will need to consume 25% total processing across all 4 cores before CPU Spikes Protection is enforced. If a process is single-threaded, it would need to consume 100% of a single core before CPU Spikes Protection is triggered, as 100% of a single CPU accounts for 25% of the total CPU consumption across all cores (4 cores / 100% = 25%).
For example, if you did not want a single-threaded process to consume 100% CPU on a quad-core machine for any more than 30 seconds, set Limit Sample Time (s) to 30 seconds and CPU Usage Limit (%) to 24%. We set 24% because it is better to avoid allowing a process to take full 100% of the single core, potentially crashing the system before Spikes Protection can have an impact.
Another example is when you do not want a single-threaded process to consume 80% of CPU for more than 45 seconds on a quad-core machine. In this case you set Limit Sample Time (s) to 45 seconds and CPU Usage Limit (%) to 20%.
If however you have no single-threaded applications and want to restrict multi-threaded applications from consuming 80% total CPU, you would set CPU Usage Limit (%) to 80%.
Idle Priority Time (s) defines the amount of time a processes priority will be degraded for before it returns to its previous priority. For example maybe you want a process priority to be degraded for 120 seconds before allowing it to return to a higher priority.
If you need different Spike Protection configurations for multiple applications, or you have different CPU assignments across multiple VDAs, you will need to deploy additional Configuration Sets.
The Limit CPU / Core usage setting allows you to limit the process to a certain amount of cores once it triggers CPU Spikes Protection by violating the CPU Usage Limit (%) value.
Enable Intelligent CPU Optimization – This setting makes processes a user launches in their session reactive by setting the process initially with a CPU Priority of High. It also keeps a history of processes that a user runs, and the amount of times the processes have triggered spikes protection. The more a process triggers a spike protection the lower priority the process will be assigned at next launch by the same user. For example, the first time I launch Internet Explorer WEM will give the process a priority of High to make the application responsive. If Internet Explorer repeatedly triggers spikes protection, WEM will make the process run at the next lowest CPU Priority the next time it is launched, for example Above Normal. If the process continues to trigger spikes protection, it will launch at the next lowest priority until it eventually is launching at the lowest (Low) priority. Note that priorities for processes set under the CPU Priority tab override the Intelligent CPU Optimization feature.
Enable Intelligent IO Optimization – This works the same way as CPU Optimization but instead for I/O.
Exclude specified processes – Allows you to exclude specific processes from spikes protection. By default, CPU Management excludes most of the common Citrix and Windows core service processes. You could set antivirus processes to be excluded but give those processes an IO priority of Low to prevent them consuming too much disk IO. You enter a process name as it is found in Task Manager but without the extension for example explorer rather than explorer.exe.
Note: If a process is clamped by spikes protection, an Event Log entry is generated under Application and Service Logs -> Norskale Agent Service indicating the process that was affected.
Over on the CPU Priority tab, you can specify processes (by name) such as iexplore.exe and assign a priority, which gives the process more CPU time.
Note: Giving a process Realtime priority is not recommended.
If you set a process such as iexplore.exe with a priority of Normal, the process will begin with this priority set and it will never drop to a lower priority, however it can run at a higher priority.
On the CPU Affinity tab you can set process affinity against processes. This determines how many CPU logical cores a process will use. For example, configuring notepad to use 2 cores, or configuring iexplore to use a single CPU core.
The CPU Clamping tab allows you to clamp a process to a certain amount of CPU i.e. only 10% CPU can be used by this process. The percentage is across all cores, so 10% on a 4-core machine would not be 10% of one core. Citrix recommend using CPU spikes protection, CPU priorities, CPU affinities and CPU usage limits to control troublesome processes rather than using CPU Clamping.
System Optimization – Memory Management
Click Memory Management. Here you can enable Working Set Optimization which withdraws excess memory from idle applications if they have not been used for a certain amount of time. You can exclude processes from being impacted by WSO. A default time of 120 minutes is set against Idle Sample Time (min) which enables WSO to calculate a process’s RAM usage and the least amount of RAM a process requires without losing stability.
An example of WSO in action is when a user opens Internet Explorer and browses a couple of websites. During this time, WSO calculates the amount of RAM used plus the least amount of RAM required. When the user is finished with Internet Explorer and when the Internet Explorer process percentage CPU drops to the value set for Idle State Limit (percent), WEM forces the process to release the excess RAM previously calculated. The RAM is released by writing it to the pagefile.
It is important that you do not set the Idle State Limit (percent) value too high as you don’t want WEM to force the process to release RAM if the process is active. The default value is 1% meaning that in the previous example once Internet Explorer drops to 1%, it’s excess RAM will be released. Citrix do not advise setting the value any higher than 5%.
System Optimization – I/O Management
On the Io Management module, you can set an I/O priority for processes. This could be useful if you want to throttle a disk heavy application. This feature works just like the CPU Priority feature, but for network and disk I/O.
You add a Process Name without an extension for example explorer instead of explorer.exe. You then set an IO priority. The next time you restart that process, I/O priority will apply.
For example, you may set an antivirus process with an I/O priority of low to prevent it consuming too much disk I/O during a session. The same could apply to any I/O intensive processes.
System Optimization – Processes Management
Click Processes Management. If you enable processes management, you can whitelist or blacklist certain processes. If you enable blacklisting, you can add certain processes to the blacklist meaning they won’t be run. If you enable process whitelisting any process not in the whitelist is automatically blacklisted so be careful. You can exclude local administrators and/or specific groups from both white and blacklists With a process blacklisted if you try and run the process manually you’ll get the below message.
Configuring Environment Settings
Click Policies and Profiles -> Environmental Settings. A lot of these settings are configured if you import the Environment Lockdown Sample template. For example, the taskbar can be locked and the run button can be removed from the Start Menu. You can exclude administrations from receiving environmental settings by ticking the Exclude Administrators check box. This picture shows the system clock having been removed. The Desktop portion allows you to hide the My Computer icon, hide the Recycle Bin and more. Windows Explorer allows you to hide the Control Panel and prevent access to CMD etc. Control Panel allows you to hide the Control Panel all together, only show specific Control Panel applets or hide specific applets. Known Folders Management gives you the ability to disable known folders within the users profile. SBC/HVD Tuning allows you to optimise performance when using Session Hosts such as XenApp Shared Desktops. Some of the options are designed to increase performance however may slightly degrade the user experience as a result.
Configuring Microsoft USV Settings
Microsoft USV Settings allow you to integrate WEM with Microsoft Roaming Profiles, configuring Roaming Profiles from the WEM Administration Console.
Configuring Citrix UPM Settings
Citrix UPM Settings allows you to integrate WEM with Universal Profile Management, configuring UPM from the WEM Administration Console. Note that some options only work with specific versions of UPM based on new or retired options.Most familiar options will be present. To see a guide on configuring UPM read https://jgspiers.com/citrix-profile-management-overview/
Advanced Settings – Configuration – Main Configuration
Click on Advanced Settings -> Configuration -> Main Configuration. Here you can check or uncheck the processing of actions. If you don’t have any port actions for example, then disabling the processing will reduce unneeded overhead and boost overall agent processing time. Other options include:
- Launch Agent at Logon – A default, launches the agent at logon.
- Launch Agent at Reconnect – Launches the agent if a user reconnects to a published Desktop.
- Launch Agent for Admins – Launches the agent even for administrators.
- Agent Type – UI (GUI) or CMD (no GUI).
- Enable (Virtual) Desktop Compatibility – Leave this enabled when using physical desktops or VDI.
On the Cleanup Actions tab, you can specify to delete printers, network drives, Start Menu shortcuts etc. whenever the WEM agent refreshes.
Configuring Agent Options
On the Agent Options tab, you can specify where agent logging will reside. Other options include:
- Enable Offline Mode – You can also enable offline mode which allows the agent to use the local cache in the event access to the WEM Infrastructure Services server is lost. This is on by default.
- Use Cache Even If Online – As the name suggests, the local cache will be used even when the WEM agent is online.
- Refresh On Environmental Setting Change – When an environmental setting is changed the Agent will trigger a Windows refresh.
- Async Prnters Processing – Asynchronously process printers.
- Async Network Drives Processing – Same as above only for network drives.
- Broker Service Timeout (ms) – The local cache will be used if the broker service cannot connect within the specified time.
- Directory Service Timeout (ms) – The local cache of user group associations will be used if the directory service times cannot connect within the specified time.
On the Advanced Options tab you can enforce actions even changes have not been made for example to any of the printer actions. You can also configure to revert any printer, virtual drive, application actions etc. once they have been unassigned the next time the agent refreshes. At the bottom you can specify how often the agent refreshes which is 30 minutes by default (UI only). On the Reconnection Actions tab similar to the processing options on the Main Configuration tab you can allow or disallow processing of certain or all actions when a user reconnects.On the Advanced Processing tab you can enable or disable processing of action filters when the agent refreshes.
Configuring Service Options
The Service Options tab allows you to specify how often the agent will refresh the cache (15 min default), how often the agent will refresh its SQL connection and other options such as enabling debug mode for the agent and setting a delay on the agent executable launch on a desktop. You can also exclude the agent from running for specific groups of users.The Console Settings tab allows you to exclude drive letters when creating drive assignments which may help prevent a WEM administrator using a drive letter that is used globally for something else for example.
Configuring UI Agent Personalization
The UI Agent Personlization tab simply allows you to adjust the look and feel of the agent, helpdesk and self-service tools running on VDA. You can prevent users from managing printers and applications etc. through the agent.When printer and application management is disabled the options appear greyed out.Here is a look at the agent using the Glass Oceans skin.
Configuring Helpdesk Options
You can set help links and allow users to take a screen capture including the option to send the screen capture via email to support.
Power Saving Management – WEM Agent VMs
Power Saving can allow the agent to shut down the device it is running on after a specified time or when the machine is idle for so many seconds.
Configure WEM Administrators
Click on Administration. The Configured Administrator List section shows WEM Administrators and allows you to add more using the Add button or edit exsting users or groups. Editing a group or user you can set permissions such as read only access to the WEM Administration Console.
Viewing WEM Connected Users
The Users portion shows a list of users who have connected and reserved a WEM license within the past 24 hours and 1 month.
Viewing WEM Connected Agents
Agents shows a list of the machines that have the Agent Host component installed including some machine information such as Device Name and IP Address. Right-clicking on an agent provides you with several options such as manually forcing a cache refresh or uploading statistics to the WEM database.
Administration Log
The Administration Log presents a history of changes made by a WEM administrator. As you can see actions such as assigning tasks and refreshing an agent cache are recorded.
Monitoring
Click on Monitoring -> Daily Reports. This shows an overview of the login times over the past 24 hours. If you double-click one of the bar graphs you are presented with a list of individual logons and their logon times. This is extremely useful for baselining activities and comparing boot times between multiple minor or major changes/customisations both within WEM and outside of WEM i.e. Group Policy.
Click on User Trends. The Login Trends Report shows an overview of login times across all users connected to this site for the specified dates. If you double-click the graph bar you are presented with a more detailed view of login times including user logging on and their individual login times.
Device Types present a list of the different devices connecting to this WEM site over the specified time period. Double-clicking any of the graph bars show more detail such as the device name and OS version.
Click on User and Device Reports. On the User Report tab, you can use the User drop-down box to select a WEM configured user and view the login times for that user over a certain time period. Note that all these different reporting features are exportable to Excel, PDF, HTML etc.
Click on Configuration. You can specify the work days so that reporting focuses only on the days your business is in operation.
WEM Logging
Several logs are generated by default with advanced debug logs being optional. WEM related Event Logs also exist on both the VDA and Infrastructure Services servers.
By default, Agent Logging is enabled, and this can be toggled on or off within the WEM Administration Console. With Agent Logging enabled, two log files are created on the VDA in location %UserProfile%. Again, this location can be modified using the WEM Admin Console:
- Citrix WEM Agent Init – Agent initialisation information is recorded here. Any issue with the WEM Agent not starting or contacting the WEM Broker will be logged here as an exception.
- Citrix WEM Agent – When the WEM Agent processes settings, such information is logged in this file. You’ll be able to see which settings have been processed and if any exceptions or errors occur.
You can turn on Debug Mode through the WEM Administration Console which generates a debugging Citrix WEM Agent Init and Citrix WEM Agent log files within %UserProfile%. These log files provide deeper output on the initialisation and processing stages.
If the WEM Agent cannot contact Infrastructure Services, change the AgentDebugModeLocalOverride REG_DWORD to 0x1 on the VDA you are troubleshooting.
An Agent Log Parser exists in the Agent Host install location that you can use to load either the Citrix WEM Agent or Citrix WEM Agent Init logs into for parsing and easier reading.
Once you load your desired log file, it will display as shown below.
If you browse to Service Options within Advanced Settings, you can turn Agent Host service logging on. These logs related to the Norskale Agent service running on your VDA.
A log file named Citrix WEM Agent Host Service Debug will be created under the Norskale Agent Host install location. This is typically C:\Program Files (x86)\Norskale\Norskale Agent Host\.
If the Agent Host cannot contact Infrastructure Services, change the AgentServiceDebugModeLocalOverride REG_DWORD to 0x1 on your VDA.
On each VDA with the Agent Host installed, a Norskale Boker Service log directory is present in Event Viewer containing information related to the Norskale Agent Service. If the Agent is offline, or there are connectivity issues, it will be logged here. Informational events such as settings that have been synchronised from the WEM Broker Server to local cache are also logged.
On the Infrastructure Services servers, a Norskale Broker Service log is available in Event Viewer logging non-debug events such as connectivity to SQL, database connection checks and when Agent Hosts connect to the WEM Broker Service.
You can enable Administration Console debugging by navigating to About -> Options and checking Enable Debug Mode -> OK.
A Citrix WEM Console Trace log file will be placed in %UserProfile% containing information related to the console start-up and connection to Infrastructure Services. If connections are timing out, then this log file will help.
During the creation or upgrade of a WEM database, a log file is created by the Database Management Utility and stored on the Infrastructure Services install folder. Generally C:\Program Files (x86)\Norskale\Norskale Infrastructure Services\.
You can also on the Infrastructure Services server enable Broker Service debug logs by changing the BrokerServiceDebugMode REG_DWORD to a value of 0x1. Now restart the Infrastructure Services service.
A Citrix WEM Infrastructure Service Debug log will appear within the Infrastructure Services install directory. This log file contains data such as information related to VDAs contacting the Infrastructure Services servers and database connectivity checks.
Creating additional WEM Sites
Obviously. a lot of the settings within WEM are site wide settings and can apply to all agents connected to the site. If you need a separate site for settings containment click on Create.Enter a site name and click Ok. You can then move Agents to a separate site either by Group Policy or by creating a REG_SZ object with a name of SiteName and value of the sites actual name. This REG_SZ value resides in HKLM\SOFTWARE\Policies\Norskale\Agent Host\.Now you can toggle between each site providing you are a Global Administrator. When assigning permissions to WEM Administrators untick Global Administrator. This allows you to assign an administrator to a certain site containing their permissions within that one site. A non-Global Administrator can only manage the site they have assigned permissions for.
WEM Transformer
Transformer is a feature that turns any Windows PC-type machine in to a thin-client acting device by enabling thin-client mode. Transformer was part of Norskale but not available in Citrix’s first version of WEM 4.0. It is now available in 4.1. To configure Transformer, open the WEM Administration Console and click Transformer.
Note: Citrix do not support running Transformer on Windows Server OS.
On the General Settings tab you should click Enable Transformer then configure your Web Interface/StoreFront address that machines will automatically browse to upon logon to Windows. You can also configure the appearance of Transformer allowing you to add a system clock, language selection, enable windowed mode etc.
When a user logs on to a WEM managed machine the PC automatically goes in to kiosk mode and displays StoreFront.
Here you can see the clock, custom title and language options.
On the Site Settings tab you can add a bunch of websites that allows any user to launch that website through Transformer.
The list of added websites appears as below. You can use the navigation buttons to go back and forth between visited sites. Again, navigation buttons must be enabled as they are disabled by default. On the Tool Settings tab you can add different tools/programs that appear and are launchable within the Transformer window. To add a tool, click Add. Enter a name and the path to the program. You can configure it to autolaunch and maximize. Click OK. Now in Transformer you’ll have a tools icon, and once clicked you see Command Prompt. The Command Prompt window appears. On the Advanced node the Process Launcher tab allows you to enable Process Launcher. Doing this disables Transformer mode and launches a specified process of your choice. In this example I have specified that MSTSC launches when a user logs on to their desktop. MSTSC launches. If a user closes the application or kills the process off the process re-launches. The Advanced & Administration Settings tab under Transformer Settings -> Advanced allows you to further personalise the Transformer program. Here you can hide buttons such as restart options and the home button. You can also disable unlock ability so that CRL+ALT+U does not unlock the PC/kiosk restrictive view.The Logon/Logoff & Power Settings tab under Transformer Settings -> Advanced allows you to configure Windows auto-logon so that when your PC powers on it is automatically logged on, then the kiosk window opens. You can also configure actions to occur when your remote session ends and power actions to shut down a PC at a specific time etc. Shut down action being applied.
Upgrading WEM
WEM must be upgraded in the following order:
- Infrastructure Services
- Database
- Note: If your WEM database is part of a SQL AlwaysOn availability group, you must first remove the database from the Availability Group before upgrading the database.
- Administration Console
- Agent Host
You can upgrade from any 4.x version using the in-place method.
Infrastructure Services
Run the installer of the Infrastructure Services version you want to upgrade to. You should manually stop the Norskale Infrastructure Services service before upgrading to ensure the upgrade is successful. Once the new version of Infrastructure Services is complete, run the Database Management utility and click Upgrade Database.
Enter the required information and click Upgrade.
Click Yes.
Click OK. The database has now been upgraded.
Now you will need to reconfigure the Norskale Broker Service using the Broker Service Configuration utility.
Administration Console
Run the latest WEM Administration Console installer over the top of the existing installation.
Agent Host
Run the latest Agent Host upgrade installer or patch installation over the top of the existing installation on machines which have no users logged on and then perform the following steps:
- C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe update
- C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe eqi 3
If your using a 32bit OS use the same path above only with 64 removed.
This ensures the Agent Host .dll files are correctly. Agents are backward compatible within the same major release i.e. v3.0 or v3.5 agents work with a v4.0 broker. Some functionality will however be lost until all components are on the same major and minor version.
If you have specified a specific Agent Host Cache location for example when using PVS and set AgentServiceUseNonPersistentCompliantHistory to 1, double check these values still exist.
You may have to specify them again after an Agent upgrade.
Migrating WEM database
It is quite simple to migrate a WEM database. Firstly, before doing the migration you should make sure that agents are configured to access their cache offline.
Take a backup of the existing WEM database by right-clicking the database and selecting Tasks -> Back Up.
Specify a full backup to disk and click OK.
Click OK and then transfer the backup to your new SQL server.
One of the important steps to complete before restoring the database is to in SQL Studio either manually create the Infrastructure Service windows account if using a service account or create the vuemUser account. If you are using a SQL AlwaysOn configuration then it is likely you will need to create both the vuemUser SQL account and service account if you use one. There is no requirement to map permissions or any roles to these accounts as the database restore will take care of that.
Now proceed with the database restore by right-clicking on Databases and selecting Restore Database. Once the restore is complete, run through the Infrastructure Service Configuration wizard and point the configuration at your new database server.
Documenting WEM Configurations
Whilst there is no easy way to output all the different configured settings, policies, objects etc. created in WEM, there is a script available which pulls all configurations in to an easy to read HTML file. See https://jgspiers.com/citrix-workspace-environment-management-documentation-script/
VUEMAppCmd
A nice trick from WEM Client Side Tools by James Kindon. If you have applications that require actions such as drive mapping or printer mapping to be completed first before the application launches, using Citrix Studio edit the properties of your desired application, define VUEMAppCmd.exe under the Location tab along with the actual published application name as a switch.
Doing this prevents the published application from launching until WEM has finished processing.
Troubleshooting
Launch Agent at Logon
If the agent does not launch on logon, make sure that within the WEM Administration Console you have checked Enable (Virtual) Desktop Compatibility.
Agent delay in detecting online mode
I’ve encountered 4.1 and 4.2 agents staying in “offline mode” for around 90-120 seconds after VDA power on, at which stage the agent changes to online and the online cache can be accessed. Allowing access to the local cache in offline mode allows the agent to process on first log on within the 90-120 seconds after VDA power on.
Agent synchronisation failure when using PVS
A timing issue in PVS can occur that prevents the WEM Agent to properly sync upon logon. To fix:
Create a .cmd script as below and save it to C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup:
net stop “Norskale Agent Host Service” /y net start “Norskale Agent Host Service” net start "Netlogon" cd “C:\Program Files (x86)\Norskale\Norskale Agent Host\" AgentCacheUtility.exe –refreshcache
Set this script to run as a startup task via Group Policy under Computer Configuration -> Windows Settings -> Scripts -> Startup.
Michael McAlpine
October 25, 2016Is there any WEM documentation from Citrix?
I’ve noticed some differences between GPO and WEM in regards to variables in drive mappings.
George Spiers
October 25, 2016There is an administration guide included with the WEM downloadable media.
Michael McAlpine
October 26, 2016Thanks. Also great posts, Carl Stalhood has some competition.
George Spiers
October 26, 2016Thanks for your kind words Michael!
Michael McAlpine
October 27, 2016I’ve begun to move items like drive mappings from a GPO to WEM and I noticed some differences. There also seems to be quite a bit of stuff the documentation leaves out which makes me believe that it is either an initial guide that will be expanded on or Citrix plan to leave it up to professionals/consultants to flush out what their documentation is missing.
1) Drive mappings don’t seem to allow for variables like %LogonUser%. Does Citrix have any better documentation out for WEM than the stuff included with the media?
2) For file associations, it looks like the “Command:” is a required field. I would like to set Irfanview as a default application for .JPG files. Do I point the target application path at the .exe or the folder then use the command to point at the .exe file?
George Spiers
October 27, 2016I’m not aware of any additional documentation other than what is included with the media at this time. I believe Citrix internal teams are being skilled up on the product and no doubt more information will be published soon!
1) %LogonUser% does not work however %UserName% is a useable variable for network drive mapping in WEM. Why wouldn’t you use %username%? I don’t think %LogonUser% is a variable that will be supported as it’s only used within GPP. You can use WEM to create Environment Variables for example one with a name of LogonUser with a value of %username%. This would then allow you to map a network drive using \\servername\share\%logonuser%.
2) For file associations enter the complete path to .exe in the target application field and just use a space in the command field, this lets you get around it
Michael McAlpine
October 28, 20161) Part of the path is to an admin share… userdata$, which also might be the issue too. I tried %username% and I can’t get that to work either. I might try just pointing to the (single) file server instead of the DFS share.
2) Thanks, I’ll give that a try next Monday
Relega
January 9, 2017Hey, is it possible to use 2 Infrastructure Servers without load balancing them? Just one will be connected to with the Admin Console. Both will be used as connector between Agent Host and DB, but for different Clients. Will this work and is this supported?
George Spiers
January 9, 2017It is possible and it will work. I don’t think Citrix have stated it is not supported anywhere in documentation. I cannot see why it won’t be supported as not everyone has a Load Balancer!
Relega
January 9, 2017Many thanks for your fast reply!
Marco
January 16, 2017Hey, I have two questions. Today I did a complete install of XenApp 7.12 and WEM with Server 2012R2 Worker. I tried to configure both UPM and folder redirection through WEM, but only the folder redirection gets applied. The UPM settings are completely ignored. Any hint where I could look for the problem?
Second, the WEM Agent starts only about 30-90 seconds after the user login. I did a PoC of Norskale about a year ago, and there it started immediately at the user logon. Any idea why?
George Spiers
January 16, 2017There is a private hotfix for the start delay issue – see here https://discussions.citrix.com/topic/383575-citrix-wem-norskale-waiting-for-desktop/
By default log files are kept on the broker agent machines under %UserProfile%\
Citrix WEM Agent Init.log and Citrix WEM Agent.log. They contain information on assignment processing and agent launch etc. Look in these files for any indication as to why UPM settings are being ignored.
Alain Assaf
January 19, 2017Does the transformer piece only work on a physical device or can it work with a virtual desktop?
George Spiers
January 19, 2017It can work on both virtual and physical Windows machines.
Steve
January 25, 2017Great guide. The logging/reporting needs some love. Wanting to use WEM to replace ThreadLocker and save some money. Only issue is the reporting on what WEM is doing is stored in a single log file for each user on each SHA server. 🙁 I would love to see reporting roll up to the broker like the trends do.
Ali
April 4, 2017Hello George,
i have installed wem 4.2 version unfortunately have an error hope you can help to solve 🙂
event id: 0
quelle: Norskale Agent Service
VuemAgentServiceConfigurationHelper.TryUpdateAgentRegistration (): The creator of this error has not specified any reason.
hope hear you soon
have a nice evning
Ali
George Spiers
April 4, 2017Hi Ali
Does the Agent connect to Infrastructure Services at all?
What OS are you running? Does the Agent appear in the WEM Console under Administration -> Agents?
Are you using GPO to point the Agent to WEM Infrastructure Services server or direct Registry entry?
Ali
April 4, 2017my OS server 2012r2 and xenapp 7.6 ltsr CU3, yes all service running and i am add it master per registry and gpo
i see the norskale agent service is running
and yes under administrator
its just the one error only
George Spiers
April 4, 2017Uninstall the agent, remove any leftover items such as the Norskale folder in %ProgramFiles(x86)% and registry under HKLM\SOFTWARE\Policies\Norskale or HKLM\SYSTEM\CurrentControlSet\Control\Norskale. Install the Agent again, specify the WEM Broker server under HKLM\SOFTWARE\Policies\Norskale\Agent Host. Also make sure you have created an appropriate SPN.
Ali
April 5, 2017Hello George, i am uninstalled and deleted registry .. and after restart and new installed Agent host unfortunaltelly already same issue
and yes i do it SPN
Ali
April 5, 2017Hello George, endles solved issue wem worked now but logon time i have 22 second something long, i read its 8-15 second logon time is with wem have you any idea to fix it?
George Spiers
April 6, 2017Move GPOs to WEM and take a WEM first approach. Hopefully then logon times should be kept at a minimum.
Melvin
April 10, 2017Hi George,
when you say “move GPO’s to WEM” is that creating a corresponding registry key for the GPOs that you have set and remove the GPO?
Thanks
Melv
George Spiers
April 11, 2017Hi Melvin
I’d encourage it. If your GPOs perform client drive mapping, registry editing and so on, you should move such settings to WEM to reduce logon times.
Ali
April 30, 2017Hello Geaorge,
have again problem wirh wem agent host the log sayme;
13:15:50 Warning -> ConfigurationDataSourcesHelper.CheckBrokerSvcConnection() : Network Detected as disconnected
13:15:50 Exception -> ConfigurationDataSourcesHelper.CheckBrokerSvcConnection() : Broker Svc Check -> Failed
13:15:50 Event -> AgentServiceHelper.OpenDataConnection() : Opening configuration cache connection -> C:\WEMCache\LocalAgentCache.sdf
13:15:51 Event -> VuemAgentServiceConfigurationHelper.ReadCentralConfiguration() : Agent cache location: C:\WEMCache
13:15:51 Exception -> VuemAgentServiceConfigurationHelper.ReadCentralConfiguration() : No matching Site Found … Exiting.
13:15:51 Event -> VuemAgentServiceConfigurationHelper.DoCentralCfgReport() : Central Configuration Report:
but network all is fine, port open and
(“C:\Program Files (x86)\Norskale\Norskale Agent Host\AgentCacheUtility.exe” -refreshcache -BrokerName hostname fqdn ) also ok
Citrix Workspace Environment Management Agent Cache Management Utility – By Citr
ix Systems, Inc – Version 4.2.0.0
Start Time: 30.04.2017 08:52:04
Total changes downloaded: 0/0
Last successful synchronization: 30.04.2017 08:52:04
Operation Completed Successfully
i don’t know really what can i do to fix… is really frusted me can oyu help to solve it?
George Spiers
May 1, 2017No matching site found. What is your site name? Have you changed the name away from the default name? Are you using GPOs to specify the site name?
Ali
May 1, 2017yes i am use GPO and but i am add yesterday registry too already not found
Ali
May 1, 2017no i am not changed SiteName is already same all
Ali
May 1, 2017Hello George, endless work it really again how i am leave it.
Thanks so much your help!! have a nice day.
Ali
May 12, 2017Hello George 🙂
hope are you ok!! have a few error on my eventlog!
maybe did you can help how can i fix it, this 2 error on my XA Worker;
1. Event id: o Norkale Agent Service: ProcessIoPriorityController.SetProcessIoPriority() : Error While Changing Io Priority to High for Process: autoben (10704)
2. VuemAgentServiceConfigurationHelper.TryUpdateAgentRegistration() : Agent registration update (HardwareId: 9AF8D4E5FCBD, InstanceGuid: 584e5717-37f6-4112-9b84-582bf8d82799) -> Failed
are you have any idea to fix it?
George Spiers
May 12, 2017You want to change the priority of a process and it is not working? Is your Agent actually working at all and showing with a green tick as being synchronized under Administration -> Agents?
Ali
May 15, 2017yes all is correkt, and there agent is green, is happen not always sometimes happening!
George Spiers
May 15, 2017If it’s an AV process, many Anti-Virus products don’t allow you to change the process priority however WEM still logs an error. This was fixed in v4.2.
Ali
May 16, 2017yes and i have also v.4.2 version already habe this issue, i don’t know also what the f***
i let the Anti-Virus wem not chek in this path:C:\Program Files (x86)\Norskale
Dennis Span
May 27, 2017Great article George! This saved me a lot of time. Thanks for sharing!
George Spiers
May 30, 2017No problem, glad it helped.
Junaid Yaseen
May 29, 2017Hi George Spiers, Good Compilation, 🙂 Thanks.
I haven’t used the product yet, but looking at it over all seems citrix wants to replace some good selling third party that had been in business “Appsense” and offload GPO processing. Moreover, they are reintroducing some of older XenApp features like memory/CPU optimization back into business. The wizards and consoles somewhat remind me of their earlier Edgesight for XenApp. They might be reusing it.
That said, how stable is the product over all…! May be anyone who had been using can help answer … that would be helpful.
I have a XenDesktop environment with Citrix UPM, with few GPO’s. From monitoring point of view how helpful this tool would be…!
George Spiers
May 29, 2017You’re welcome, Junaid. WEM I would say has worked pretty well for most of the time I have used it. Some oddities do exist in the product. I’ve found some versions struggling to hide system drives and apply other environmental settings. Some agent versions also seem to be stuck in offline mode after system boot for 60-90 seconds. After that it is fine. There is a workaround for that though.
Eric
June 20, 2017George —
Have you seen this happen with specific versions of the agent? I’m currently seeing this issue with 4.3 and have a ticket open with Citrix support but if this is an issue with previous versions of the agent I will assume a fix won’t be forthcoming.
George Spiers
June 20, 2017From memory I am seeing the 60-90 second initial offline problem in 4.1-4.3 but I have a workaround for that. Are you experiencing the same? All versions of WEM I have noticed for me fail to hide the Recycle Bin and any system drives. 4.0 and 4.1 failed to disable access to CMD but that seems sorted in newer versions. Are you seeing the same?
Eric
June 21, 2017I am not seeing the 60-90 second delay but a large amount of my environmental settings only apply for a users first login to a machine. Any subsequent login no longer applies these environmental settings (disable command prompt, disable registry, hide icons on start menu, etc). The only environmental settings that I’ve found to work consistently is hiding the system clock. This is a PVS environment and I’ve followed all the build recommendations I’ve found.
George Spiers
June 21, 2017What version fo WEM are you running? I’ve not noticed that before. You are redirecting the WEM cache to a persistent drive e.g. PVS Write Cache drive? Do the settings persist until you restart the PVS Target Device, or only on first logon where even a second logon for the same user to same VDA without a reboot results in lost settings?
Eric
June 21, 2017Running WEM 4.3. I am redirecting everything to the persistent write cache drive. The settings only apply on a users first logon to the target device. These are XenApp targets so they only reboot once a day. Here is an example of the sequence of events:
Machine reboots at 5am
User1 logs in at 6am and gets correct settings
User1 logoffs at 7am
User1 logs back in at 8am and the environmental settings no longer apply.
User2 logs in at 8am and the environmental settings apply correctly.
User2 logs off at 9am
User2 logs back in at 10am and settings no longer apply.
Machine reboots at 5am
User1 and User2 log in at 6am and get correct settings
User1 and User2 log off at 7am
User1 and User2 log back in at 8am and settings no longer apply
I have WCF traces into the WEM dev team at Citrix so I can update once I hear back from them.
Thanks for the blog posts they are all very helpful!
George Spiers
June 21, 2017Thanks Eric
jim
June 6, 2017Hi, great article.
My question is, Does it work in parallel with UPM/GPO or all profile management settings can be relocated to WEM?
Some people seem to think it does not replace UPM but rather works in part with it
George Spiers
June 6, 2017WEM 4.3 supports the newest UPM features found in CPM 5.7. Older versions of WEM had been a bit short on features compared to what was available in Citrix Policies and GPOs. It comes down to preference and where you prefer managing your CPM settings.
Rick
June 27, 2017George – Great guide. I understand how WEM improves login time by applying settings using the agent instead of waiting for Windows to process them natively before the desktop is loaded, but in our case the biggest wait during login time is profile copy of the UPM profile from the server to the VM. I have seen some infographics showing that WEM can optimize this as well but I don’t understand how. Does it wait to process the profile until after the user has logged on, and if so how does that work? Can a user start interacting with the desktop before their profile has fully copied to the machine?
George Spiers
June 27, 2017Hi Rick, WEM has a fast logoff feature but no equivalent to logons. CPM still handles all the loading of profiles as normal. There are some features in UPM such as Profile Streaming and exclusions you can use and that are designed to quicken up logons. You should also redirect as much as possible to reduce profile size.
Rick
June 27, 2017Understood. Thanks!
Pingback: Workspace Environment Management 4.3 – Carl Stalhood
Pingback: Detailed Change Log – Carl Stalhood
Pingback: EUC Weekly Digest – July 8, 2017 – Carl Stalhood
Vaqar Hasan
July 10, 2017Good job George !!
looks like I will have to visit this page multiple times during my implementation 🙂
George Spiers
July 10, 2017Thanks Vaqar, you visit as many times you like. 🙂
Luke
July 11, 2017Great article! I’ve got it working on attest VDA. I’m having trouble with Transformer though, I have a separate site to set it up, I have my test laptop appearing in the WEM console and is looking at the correct site. In that site I have enabled Transformer, specified a site etc but when I log into the laptop I have the regular desktop. Laptop is Windows 10 if that makes any difference. Thanks!
George Spiers
July 11, 2017Does the WEM agent run on your laptop? It needs to run before entering Transformer mode. It should run on logon. Sounds to me like the agent is not running, or is but erroring out.
Luke
July 12, 2017The WWM Agent is installed on the laptop, I can see that the Service is running and the WEM Console on the server can see the laptop. How do I ensure the WEM Agent launches on login? Have I missed an installation switch? Thanks for the reply!
George Spiers
July 12, 2017If the agent does not launch on logon, create a registry entry as below:
Name: VUEMUIAgent
Data: C:\Program Files (x86)\Norskale\Norskale Agent Host\VUEMUIAgent.exe
Type: REG_SZ
Location: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
P.s. adjust the path as relevant to your configuration.
Peter Wynne
July 20, 2017Hi mate 🙂 have you seen the following error before;
BrokerServiceHelper.CheckSqlConnection() : SqlDatabaseHelper.TestSqlServerConnection() connection Error : 258 | A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: SSL Provider, error: 0 – The wait operation timed out.)
2 new brokers in a particular datacentre won’t link back to the database. Other brokers worked just fine (all DB settings confirmed the same across the brokers).
George Spiers
July 20, 2017Hi Mr. Wynne 🙂 Sounds like the broker and SQL server cannot match on a cipher/SSL protocol during SSL handshake. For example if SQL only accepts TLS 1.0 but the brokers don’t offer the same. On the brokers check HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\ to see if any TLS versions are disabled vs. a working broker. A WireShark trace between a working broker/SQL server would let you know which ciphers and TLS protocols the SQL server supports.
George Spiers
July 20, 2017It could also be a proxy/firewall type device along the communication path interfering with the connection. That would be another thing to check
Peter Wynne
July 25, 2017Thanks George, the servers are exactly the same – have checked cipher settings and they all look the same. Citrix is suggesting it’s a latency issue – it’s 200ms between the broker and the DB instance.. I would setup a sync’d database local to the remote broker if it’s really necessary but there is very little documentation on whether that is recommended or not..
George Spiers
July 25, 2017The latency may well explain the timeout error then, although there are no published guidelines around latency. AlwaysOn is popular with WEM databases but Citrix don’t even officially support that yet. I think the stance currently is if you have an issue, prove it happens without AlwaysOn to be supported. I’m sure someone at Citrix could confirm what options you have, asides from having a separate farm in that region..
Pingback: Site Updates – July 2017 – Carl Stalhood
Pingback: Image Optimization Analysis – Citrix XenApp | James Kindon
Chris
November 4, 2017Hi George
I have installed wem 4.4 in no persistence vdi using persistant cache through PVS and I have this initial offline problem . Do you have any idea how to deal with that?
Thanks
George Spiers
November 4, 2017Yes look at the bottom of the article titled “Agent syncornisation failure when using PVS”. That should help.
Chis
November 7, 2017Thanks Goerge for you answer ,
i have applied the script didn’t help at all . The offline delay for 120 secs remains.
George Spiers
November 7, 2017Can you verify the script actually ran and the services restarted? Check Event Viewer to confirm services restarted and that the scheduled task completed successfully.
chris
November 7, 2017Seems that have run and services restarted but let me check again.
Chris
November 8, 2017Finally i found out that this script could gives the expected results only if i introduce a delay more than 5 secs to run it on vdi startup .
Thanks George
Pingback: Configure Citrix Workspace Environment Management Application Security - Zero To Hero
Ray
January 2, 2018Is there some math formula for the CPU Management Settings?
CPU Usage % divided by Number of CPU?
I have 8 CPU, So based on what he says here
“the CPU setting should not be set above 49%, if 4 CPU’s are available, the CPU setting should not be set above 24%”
2 CPUs= take 100% and dived that by 2 you get 50% So you set it to 49%
4 CPUs= take 100% and dived that by 4 you get 25% So you set it to 24%
8 CPUs= take 100% and dived that by 8 you get 12.5% So you set it to 11 %
George Spiers
January 3, 2018If you are using VDI, the math formula seems to be:
100% divided by #CPUs – 1.
So an 8 core formula: 100% divided by 8 = 12.5 minus 1 = 11.5%
Mark
February 9, 2018George,
I am automating the build of a Win7 XD Image and was curious to know if there is particular order in which to install the WEM agent. Before or after VDA installation?
BTW – I know the CPU optimization (process priority) was designed for XenApp but does it benefit in Win7/Win10 VDI?
Thanks
George Spiers
February 12, 2018I normally install it after installing the VDA. That is just personal preference but I am sure there is no specific priority. CPU optimisation could benefit in cases were you have an application that likes to CPU hog. In this case, we could use WEM to control the behaviour and lower the process priority, until maybe the application vendor releases a patch.
Engin
March 28, 2018Hi George,
Firstly, thanks for the replies. Wondering the state of installing WEM agent in platform layer as suggested by Citrix. I was hoping to use it with PVS and move WEM cache to write cache during installation. How do you think this is possible in platform layer?
Thanks,
George Spiers
March 28, 2018It’s possible in Platform Layer just like it is in an App Layer.
I’ve used both MCS and PVS with WEM in an Application Layer and it works without a problem. You have to modify the Netlogon key though to make it dependent on the Norskale Agent Host Service however as said it works fine. You can find the steps here: https://jgspiers.com/citrix-workspace-environment-manager/#Install-WEM-Agent
Engin
March 28, 2018Hi again, wondering about the persistence of wem cache when installed in platform layer for pooled pvs images.. Are you saying the installation is next-next clicks? Didnt try this, so wondering..
Thanks
George Spiers
March 28, 2018It is debatable whether you should persist the cache or not. If you do wish to persist the cache, you can in the Platform Layer create the AgentCacheAlternateLocation and AgentServiceUseNonPersistentCompliantHistory or specify them during CLI installation of the WEM Agent, it is documented under the link I sent you above.
Balakrishnan
June 14, 2018Hi George,
You had done great job. Post reading your article about WEM I got cleared.
Thank you for such a beautiful blog.
Azmi
July 7, 2018Hi,
We have implemented WEM and UPM not working when configured through WEM, where Redirection is working but on the fileserver it is naming the folder with different name instead of the username. We have been troubleshooting it since two weeka with no luck.
George Spiers
July 9, 2018What version of WEM and have you checked WEM generated logs or enabled debugging?
Raj
July 15, 2018Hello George,
Thanks for the great post. I have a question about the license configuration. If I specify the license information during “Broker Service Configuration” why do I need to specify license information again within Administration Console ? Thank you
George Spiers
July 16, 2018Hi Raj, you don’t. You only need to specify it in one location.
Rupesh Bhattarai
August 9, 2018Good Morning George,
I have designed WEM 4.7 implementation separately for 2 Datacenters. I have 2 separate WEM databases. So, I have 2 AOAGs for them for HA.
I have placed Target Devices from each Datacenters in Separate OUs. I am load balancing via NetScaler.
WEM Agent in installed in “Test Win 7” image and I have 3 “Test VDIs”.
I don’t see the “WEM Agent icon” by default on the Task bar (Bottom Right Corner).
When I navigate to “C:\Program Files (x86)\ Norskale\Norskale Agent Host\VUEMUIAgent.exe” and launch the executable, I see the icon.
When I refresh the icon, I get ” An error occurred while building your environment. Agent processing will now stop” pop up.
In the “Event Viewer”, Norskale Agent Service is started successfully.
I have also attached the log files herewith.
I don’t the “3 Test VDIs” in Datacenter #1 Admin Console under Administration>>Agents>>Statistics or Registrations.
In my opinion, it needs to show them here with “Green Check Marks”.
I don’t see any machines under Administration>>Agents>>Statistics or Registrations.
I had added the OU from Active Directory Objects >> Machines >> State ( is Green Check Mark though).
Your guidance will be very helpful regarding the same.
Email: rupesh.bhattarai@epelectric.com
Rupesh Bhattarai
August 9, 2018Hi Jason,
I want to implement Transformer in Win7 VDI. End point is Win 7 Physical desktop. We wan to convert Fat client to Thin Client by using Transformer.
I have installed WEM Agent in Win 7 image (provisioned via PVS).
When I log into the Win 7 Physical machine, VDI needs to launch and transform into Kiosk mode correct?
It doesn’t happen.
Your help will be highly appreciated.
George Spiers
August 10, 2018Does the WEM Agent even launch on the physical desktop? Have you followed the steps from https://jgspiers.com/citrix-workspace-environment-manager/#Transformer
Rupesh Bhattarai
October 19, 2018George,
My clients requirement is when a user log into physical workstations, their respective VDI session needs to launch.
I tested with Transformer (WEM 4.7), it doesn’t do the same. Instead it gives me Storefront Screen for logging in my username and credential.
Has there been any improvements or updates on the latest Transformer release?
We have been using Citrix Receiver Desktop Lock 4.9 with Citrix Receiver 4.9.2000 on the Win 7 Physical endpoints.
Citrix Receiver Desktop Lock has been giving issues of not launching the VDI session upon log in intermittently.
Any help regarding the same will be highly appreciated.
Ph: 1-256-724-2555
Email: rupesh.bhattarai@epelectric.com
George Spiers
October 21, 2018Have you configured Receiver SSO? https://jgspiers.com/citrix-sso-receiver-and-receiver-for-web/
George Spiers
August 10, 2018Have you checked the WEM logs under %UserProfile%. The logs will give a good indication as to what is wrong. Have you configured your Site via GPO or registry? Also in the WEM Console, be sure to check “Launch Agent at logon” and also check the “Enable (Virtual) Desktop Compatibility” options.
mikey
September 5, 2023TY. The “Enable (Virtual) Desktop Compatibility” option is still relevant with WEM version 2212 and Windows 10 MCS and VDA 1912 cu5 .
Rikesh
August 30, 2018Hi JG, great article. is there a way to install transformer by itself on a Thin Client?
George Spiers
August 30, 2018You have to install the WEM Agent, which unlocks the Transformer capability.
Iola
October 8, 2018There are different grades of SSL certificates.
Rupesh Bhattarai
October 19, 2018Hi George,
I have couple of questions:
1. I am seeing a very high “Interactive Session” during a win 7 VDI logon in Production Environment ( XD 7.15.1000 LTSR). It goes as high as 50-60 seconds to 11 seconds (lowest) as reported by Citrix Director. How can I reduce it to below 5 seconds or as minimum as possible?
2. We have implemented Citrix Desktop Lock 4.9 along with Citrix Receiver 4.9.2000 in Win 7 Physical Machines to convert it into Thin Client and lock the box. I see the following:
Total: 153.749sec ( I see 15-20 seconds when I launch the VDI form my win 7 Laptop, which has no Citrix Desktop Lock Receiver)
Brokering: 0.003sec
VM Start: n/a
HDX Connection: 0.98 sec
Authentication: 0.109 sec
GPOs: 4.663 sec
Logon Scripts: 0.326 sec
Profile Load: 0.3 sec
Interactive Sessions: 50.263
I have been following your great articles as always.
Your help and guidance will always be highly appreciated.
Ph: 256-724-2555
Email: rupesh.bhattarai@epelectric.com
George Spiers
October 21, 2018Hi Rupesh
You might want to read here: https://jgspiers.com/citrix-director-reduce-logon-times/
Unfortunately 5 seconds will probably not be possible, but something below 30 seconds would be what you should target for.
Azmi
October 26, 2018Hi George,
Recently, we have been noticing the Agent takes around 2 minutes to start after Windows 10 starts which is alot. We are running WEM 4.7, we also have created a batch file to refresh the local cache.
Note: wem agents used to start directly after windows start, this issue is happening since 1 week.
Azmi
October 26, 2018One more thing, I am suspecting the database is holding garbage data which might be causing that delay, if so is there any maintenamce script has to run on the DB on regular basis?
George Spiers
October 28, 2018No such script that I am aware. I would imagine that any unofficial script would put you into an unsupported configuration.
George Spiers
October 28, 2018Have you turned on offline mode? Also turn on “Bypass ie4uinit Check”.
PiyushNayak
November 11, 2018Hi George, Thank you so much for sharing your knowledge. It is really helping me with WEM deployment at work. Appreciate your efforts.
MJ
January 24, 2019hi george, does WEM support %variable% in “Target Path”?
i have gpo drive map preference set as:
location: \\%groupd%\foldername and item-level targeting set to LDAP query using Attribute:extensionAttribute2 and environmental variable name: groupd which will return value as %groupd%. so if extensionattribute2=server1 user drive should map to \\server1\foldername
is it possible to achieve the same with WEM? so far i had no luck.
George Spiers
January 29, 2019Hello. Yes I’ve done this before. As an example if you have a user environment variable named groupd which has a value of \\server1\, you can map a network drive via WEM to that location by setting the target path to %groupd%.
François GOTTI
January 25, 2019Hi George,
Do you have a complete tutorial to configure UPM for More than 1 silo ?
Regards,
George Spiers
January 26, 2019Have a read here if you want to perform something like this by using the same UPM configuration: https://jgspiers.com/citrix-profile-management-overview/#Split-Profiles
Different Configuration Sets in WEM also work.
James Kindon also has a multi-site configuration guide: https://jkindon.com/2018/06/19/multi-site-and-onedrive-folder-redirection-with-wem/
Tony
January 31, 2019I’ve got a very weird issue with WEM.
Some background – we are getting ready to replace a load of ageing XPe thin clients with ThinOS devices.
In the locations they are going, we have two printers. To ease the deployment of the thin clients, the printers are predefined by name in the Wyse Management Suite.
We have a script to flip the default printer based on the thin client name.
The script runs fine (as expected) post-logon if you use clientname as a variable.
As this isn’t available to WEM, we created a new variable TCNAME which points at ##clientname##
So far, so good.
Except, and here’s the rub, if you rename the thin client, the TCNAME variable DOES NOT get changed.
It appears to be written into the HKCU hive.
Ok – maybe delete the hive – we can do that as a logoff task if necessary.
Nope – if you delete the reference, it never comes back.
It’s confusing the bejeezus out of us at the moment and I think the only thing we can probably do at this point to work around the issue, is drop the script into the users’ startup folder and use clientname, as that works without fail.
George Spiers
January 31, 2019You are right it doesn’t update. I’ve contacted the team to ask if this is a known issue.
You are probably best using your startup script for now, OR you could configure Profile Management to exclude the following registry key from synchronising to the profile store: HKCU\Software\VirtuAll Solutions\VirtuAll User Environment Manager\Agent\Tasks Exec Cache\EnvironmentVariables\
Another option is to delete the sub-key under EnvironmentVariables at user logon or logoff. The sub-key is a user SID value.
Tony
January 31, 2019Hi George. Stunned this morning,
my script does indeed delete HKCU\Software\VirtuAll Solutions\VirtuAll User Environment Manager\Agent\Tasks Exec Cache\EnvironmentVariables\ as it’s final command.
It then recreates the key successfully the next WEM refresh / logon.
It works well.
George Spiers
January 31, 2019No worries – good to hear you have a workaround in place.
Tony
January 31, 2019As of – not stunned.
George Spiers
February 1, 2019One thing I forgot to try, if you check “Enforce Environment Variables Processing” under the “Advanced Options” tab it changes the value each time.
DIPEN
April 28, 2019If i am using Studio for Citrix Profiles and then install WEM and configure similar Profile Settings in WEM.
Is there any concern if Profile Settings are configured for both Studio and WEM ?
If profile management is configured in WEM should we delete from Studio ?
George Spiers
May 3, 2019There would be concern if both the WEM and Citrix Studio policy settings applied against the same VDAs. If so then yes, remove.
Pingback: Expert Analysis of Citrix Monitoring Tools & Software | eG Innovations
Jordi Nin Gallego
February 24, 2020Hi George!
There are some sql sentence to know in which version I have my DDBB on my SQL?
My upgrade from 1906 to 1912 is non working….
Thanks
Ram
May 1, 2020Hello George
Its one of the best document I have found for WEM. Great work.
Regards
Ram
George Spiers
September 9, 2020Thank you.
Francois GOTTI
August 24, 2020Hi George,
Actually I launch Vuemcmd.exe with publish Apps but my issue is user see that the cmd at screen.
How to minimize the cmd in the taskbar ?
Regards,
François
GS KERN
September 7, 2020Hi George:
Quick question for you here: On the “File System” tab in WEM, how do the EXCLUSIONS work? What do they DO? Do they PREVENT those Items — from the User Profile store — being written into the Local Profile at Login time? May as well ask, too, what Synchronization does…
I’ve looked for clear explanations, and I’ve found some helpful info, but I just thought I’d ask you about it… Thanks!
Guy
October 19, 2020Hi George,
Thank you so much for this post.
I have WEM version 4.07 and the console not seeing new OU in AD.
Please, do you any idea that causes this issue.
Thank you in advance.
Regards,
Guy
Filip Sch
June 9, 2021Hi George,
thanks for these clear instructions to install WEM. In my lab it’s working fine.
But in our company we have a Forest with 10 subdomains. In 2 subdomains they already created a SPN with the name Norskale/BrokerService. We checked it by running the following command: setspn -Q Norskale/BrokerService -F So I guess other entities are already using WEM.
In the citrix docs I can read the following:
Do not create multiple service principal names (SPNs) for separate domains that reside in the same forest. All the infrastructure services in an environment must be run using the same service account.
Do you know how we can proceed? And security is not allowing us to use a service account from other domain.
Thanks in advance,
Filip Sch
Janus
October 6, 2021Hello George
Thank you for the great guide.
I am having troubles with WEM on app Layering. I followed the note regarding: “DependOnService multi-String value” (note they finally renamed the service from norskale to WemAgentSvc).
The string is already there. However restart and shutdown breaks.
I don’t know, if this was an issue in earlier versions of WEM, i have tried with 2106 and 2109.
Do you have any information on this?
Pingback: How to install Citrix WEM Agent on Win10 in Powershell - Be Digital Workplace
Pingback: Failed For User ‘Vuemuser’ Logga In - Sweden Logga In
Pingback: Failed For User ‘Vuemuser’ Logga In - SwVast