Jump to content
Welcome to our new Citrix community!
  • 0

WEM deployment has been inconsistent.


Matt Kozlowski

Question

Have seemingly been having a lot of trouble around consistency with our WEM deployment. I deployed a single server, client, and database in an AlwaysOn cluster within our test environment for the purposes of evaluating the benefits of WEM. Since then, the main thing i come back to is that it has been inconsistent. The settings seem to apply when they feel like. I rarely also see the splash screen during logon.

 

For example, i have a logon script that i have applied via an external task that sometimes has run but most times has not. In my latest test, i deleted the profile for a test user, and the script hasnt run once (even though it is assigned to).

 

I have a drive that is mapping for a test user account that is no longer assigned to that user account ( so in theory it shouldnt be mapping at all).

 

I've had several cases opened with Citrix to evaluate the use of porting UPM and folder redirection settings over to WEM (i just wanted to try it)... we ended up closing the case because after a significant amount of troubleshooting we just couldnt get it to work properly. The suspicion i have around that one is that WEM struggles with environment variables (such as %username%.%userdomain%). When switching back to GPO, the variables work fine.

 

I'm just not sure why its been so inconsistent. We are using non-persistent desktops, windows 10, PVS, UPM, XenDesktop, on XenServer.

 

I have a startup script applied via local policy that does the following:

 

@echo off

net stop "Citrix WEM Agent Host Service" /y
net start "Citrix WEM Agent Host Service"
net start "Netlogon"
timeout 20
cd "C:\Program Files (x86)\Citrix\Workspace Environment Management Agent"
AgentCacheUtility.exe -refreshcache

 

I have upgraded several times to see if maybe i was just encountering bugs. We started with 1903 i think, went to 1912, and are now on 2005.

I took off antivirus per a troubleshooting recommendation.

I have deleted the local cached databases and allowed them to recreate.

i have switched back and forth from enabling offline mode.

I had moved the testing desktop into a separate OU so that UPM settings didnt conflict. Though now since i'm not testing UPM in WEM anymore, i just moved it back.

 

Is there a setting or something i should be looking at to ensure policies are applying properly? Kind of running out of ideas. I imagine other folks use this product right? What i dont understand is what is so "unique" about our deployment thats causing the inconsistencies.

 

 

 

 

Link to comment

10 answers to this question

Recommended Posts

  • 0

Looking through the logs, and in reference to the drive mappings issue i found earlier, it looks like it finds a historical mapping in the database? am i reading that right? and then is it assigning it based on that history even though its not explicitly assigned in WEM?

 

10:30:52 AM Event -> MainController.ProcessNetworkDrives() : Starting Network Drives Processing...
10:30:52 AM Event -> VuemAgentHistoryController.GetPreviousTasksItems() : No previously Previously Processed Item Found in Assigned Network Drives History
10:30:52 AM Event -> VuemNetworkDriveController.ProcessEntityWorkingSetUpdate() : No Working Set Update Detected for Network Drives Processing or Revert Disabled
10:30:52 AM Event -> VuemNetworkDriveController.() : Retrieving Network Drive Assignments History for Item -> DOMAIN\username (S-1-5-21-2425805296-4094428744-3842946302-1222)
10:30:52 AM Event -> VuemNetworkDriveController.() : Retrieving Network Drive List for DOMAIN\username (S-1-5-21-2425805296-4094428744-3842946302-1222)...
10:30:52 AM Event -> VuemNetworkDriveController.() : Retrieving Network Drive Assignments History for Item -> Everyone (S-1-1-0)
10:30:52 AM Event -> VuemNetworkDriveController.() : Retrieving Network Drive List for Everyone (S-1-1-0)...
10:30:52 AM Event -> MainController.ProcessVirtualDrives() : Starting Virtual Drives Processing...
10:30:52 AM Event -> VuemNetworkDriveController.RetrieveAssignedEntityTasksList() : Assigned network drives individually in site 1 for S-1-1-0 are 0
10:30:52 AM Event -> VuemNetworkDriveController.RetrieveAssignedEntityTasksList() : Assigned network drives individually in site 1 for S-1-5-21-2425805296-4094428744-3842946302-1222 are 0
10:30:52 AM Event -> VuemNetworkDriveController.RetrieveAssignedEntityTasksList() : Assigned network drives in action group in site 1 for S-1-1-0 are 0
10:30:52 AM Event -> VuemNetworkDriveController.RetrieveAssignedEntityTasksList() : Assigned network drives in action group after conflict process in site 1 for S-1-1-0 are 0
10:30:52 AM Event -> VuemAgentHistoryController.GetPreviousTasksItems() : No previously Previously Processed Item Found in Assigned Virtual Drives History
10:30:52 AM Event -> VuemNetworkDriveController.RetrieveAssignedEntityTasksList() : Assigned network drives in action group in site 1 for S-1-5-21-2425805296-4094428744-3842946302-1222 are 0
10:30:52 AM Event -> VuemNetworkDriveController.RetrieveAssignedEntityTasksList() : Assigned network drives in action group after conflict process in site 1 for S-1-5-21-2425805296-4094428744-3842946302-1222 are 0
10:30:52 AM Event -> VuemVirtualDriveController.ProcessEntityWorkingSetUpdate() : No Working Set Update Detected for Virtual Drives Processing or Revert Disabled
10:30:52 AM Event -> VuemVirtualDriveController.() : Retrieving Virtual Drive List for DOMAIN\username (S-1-5-21-2425805296-4094428744-3842946302-1222)...
10:30:52 AM Event -> VuemVirtualDriveController.() : Retrieving Virtual Drive Assignments History for Item -> DOMAIN\username (S-1-5-21-2425805296-4094428744-3842946302-1222)
10:30:52 AM Event -> VuemVirtualDriveController.() : Retrieving Virtual Drive Assignments History for Item -> Everyone (S-1-1-0)
10:30:52 AM Event -> VuemVirtualDriveController.() : Retrieving Virtual Drive List for Everyone (S-1-1-0)...
10:30:52 AM Event -> VuemVirtualDriveController.RetrieveAssignedEntityTasksList() : Assigned virtual drives individually in site 1 for S-1-5-21-2425805296-4094428744-3842946302-1222 are 0
10:30:52 AM Event -> VuemVirtualDriveController.RetrieveAssignedEntityTasksList() : Assigned virtual drives individually in site 1 for S-1-1-0 are 0
10:30:52 AM Event -> VuemNetworkDriveController.RetrieveAssignedEntityTasksList() : Assigned network drives finally in site 1 for S-1-5-21-2425805296-4094428744-3842946302-1222 are 0
10:30:52 AM Event -> VuemNetworkDriveController.RetrieveAssignedEntityTasksList() : Assigned network drives finally in site 1 for S-1-1-0 are 0
10:30:52 AM Event -> VuemNetworkDriveController.ProcessGenericActionTypesIfAny() : No Generic Network Drive found for item DOMAIN\username (S-1-5-21-2425805296-4094428744-3842946302-1222)
10:30:52 AM Event -> VuemVirtualDriveController.RetrieveAssignedEntityTasksList() : Assigned virtual drives in action group in site 1 for S-1-5-21-2425805296-4094428744-3842946302-1222 are 0
10:30:52 AM Event -> VuemVirtualDriveController.RetrieveAssignedEntityTasksList() : Assigned virtual drives in action group after conflict process in site 1 for S-1-5-21-2425805296-4094428744-3842946302-1222 are 0
10:30:52 AM Event -> VuemNetworkDriveController.ProcessGenericActionTypesIfAny() : No Generic Network Drive found for item Everyone (S-1-1-0)
10:30:52 AM Event -> VuemVirtualDriveController.RetrieveAssignedEntityTasksList() : Assigned virtual drives in action group in site 1 for S-1-1-0 are 0
10:30:52 AM Event -> VuemVirtualDriveController.RetrieveAssignedEntityTasksList() : Assigned virtual drives in action group after conflict process in site 1 for S-1-1-0 are 0
10:30:52 AM Event -> VuemNetworkDriveController.ProcessItemEntityTasks() : No Network Drive found for Item -> DOMAIN\username
10:30:52 AM Event -> VuemNetworkDriveController.ProcessItemEntityTasks() : No Network Drive found for Item -> Everyone
10:30:52 AM Event -> VuemNetworkDriveController.ProcessActionRelatedRefresh() : Network Drive Processing: No Refresh required -> Exiting
10:30:52 AM Event -> VuemVirtualDriveController.RetrieveAssignedEntityTasksList() : Assigned virtual drives finally in site 1 for S-1-5-21-2425805296-4094428744-3842946302-1222 are 0
10:30:52 AM Event -> VuemVirtualDriveController.RetrieveAssignedEntityTasksList() : Assigned virtual drives finally in site 1 for S-1-1-0 are 0
10:30:52 AM Event -> VuemVirtualDriveController.ProcessGenericActionTypesIfAny() : No Generic Virtual Drive found for item DOMAIN\username (S-1-5-21-2425805296-4094428744-3842946302-1222)
10:30:52 AM Event -> VuemVirtualDriveController.ProcessGenericActionTypesIfAny() : No Generic Virtual Drive found for item Everyone (S-1-1-0)
10:30:52 AM Event -> VuemVirtualDriveController.ProcessItemEntityTasks() : No Virtual Drive found for Item -> DOMAIN\username
10:30:52 AM Event -> VuemVirtualDriveController.ProcessItemEntityTasks() : No Virtual Drive found for Item -> Everyone
10:30:52 AM Event -> VuemVirtualDriveController.ProcessActionRelatedRefresh() : Virtual Drive Processing: No Refresh required -> Exiting

Link to comment
  • 0

There's also this section of the log i find interesting. It seems to still be trying to process some UPM settings even though that should now be handled by GPO:

 

10:30:50 AM Event -> AgentControllersHelper.LogAgentSpecialFolders() : Detected User Start Menu Folder-> \\profiles\Win10_Folders\username.DOMAIN\startmenu
10:30:50 AM Event -> AgentControllersHelper.LogAgentSpecialFolders() : Detected User Start Menu Programs Folder -> \\profiles\Win10_Folders\username.DOMAIN\startmenu\Programs
10:30:50 AM Event -> AgentControllersHelper.LogAgentSpecialFolders() : Detected User Start Menu Startup Folder -> \\profiles\Win10_Folders\username.DOMAIN\startmenu\Programs\Startup
10:30:50 AM Event -> AgentControllersHelper.LogAgentSpecialFolders() : Detected User Desktop Folder -> \\profiles\Win10_Folders\username.DOMAIN\desktop
10:30:50 AM Event -> AgentControllersHelper.LogAgentSpecialFolders() : Detected User Favorites Folder -> \\profiles\Win10_Folders\username.DOMAIN\favorites
10:30:50 AM Event -> AgentControllersHelper.LogAgentSpecialFolders() : Detected User AppData Folder -> C:\Users\username\AppData\Roaming
10:30:50 AM Event -> AgentControllersHelper.LogAgentSpecialFolders() : Detected User Local AppData Folder -> C:\Users\username\AppData\Local
10:30:50 AM Event -> AgentControllersHelper.LogAgentSpecialFolders() : Detected User QuickLaunch Folder -> C:\Users\username\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch
10:30:50 AM Event -> AgentControllersHelper.LogAgentSpecialFolders() : Detected User TaskBar Pinned Icons Folder -> C:\Users\username\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar
10:30:50 AM Event -> AgentControllersHelper.LogAgentSpecialFolders() : Detected User Start Menu Pinned Icons Folder -> C:\Users\username\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\StartMenu
10:30:50 AM Event -> AgentControllersHelper.LogAgentSpecialFolders() : Detected User Implicit App Shortcuts Pinned Icons Folder -> C:\Users\username\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\ImplicitAppShortcuts

Link to comment
  • 0

This is the point in the log where it seems to be processing the external tasks... only the drives dont show up as mapped. If i manually run the script from the user via UNC, it runs fine:

 

10:30:53 AM Event -> MainController.ProcessExternalTasks() : Starting External Tasks Processing, context: Login
10:30:53 AM Event -> VuemAgentHistoryController.GetPreviousTasksItems() : No previously Previously Processed Item Found in Assigned External Tasks History
10:30:53 AM Event -> VuemExternalTaskController.ProcessEntityWorkingSetUpdate() : No Working Set Update Detected for External Tasks Processing or Revert Disabled
10:30:53 AM Event -> VuemExternalTaskController.() : Retrieving External Task List for DOMAIN\username (S-1-5-21-2425805296-4094428744-3842946302-1222)...
10:30:53 AM Event -> VuemExternalTaskController.() : Retrieving External Task List for Everyone (S-1-1-0)...
10:30:53 AM Event -> VuemExternalTaskController.() : Retrieving External Task Assignments History for Item -> DOMAIN\username (S-1-5-21-2425805296-4094428744-3842946302-1222)
10:30:53 AM Event -> VuemExternalTaskController.() : Retrieving External Task Assignments History for Item -> Everyone (S-1-1-0)
10:30:53 AM Event -> VuemExternalTaskController.RetrieveAssignedEntityTasksList() : Assigned external tasks individually in site 1 for S-1-5-21-2425805296-4094428744-3842946302-1222 are 1
10:30:53 AM Event -> VuemExternalTaskController.RetrieveAssignedEntityTasksList() : Assigned external tasks individually in site 1 for S-1-1-0 are 0
10:30:53 AM Event -> VuemExternalTaskController.RetrieveAssignedEntityTasksList() : Assigned external tasks in action group in site 1 for S-1-5-21-2425805296-4094428744-3842946302-1222 are 0
10:30:53 AM Event -> VuemExternalTaskController.RetrieveAssignedEntityTasksList() : Assigned external tasks in action group after conflict process in site 1 for S-1-5-21-2425805296-4094428744-3842946302-1222 are 0
10:30:53 AM Event -> VuemExternalTaskController.RetrieveAssignedEntityTasksList() : Assigned external tasks in action group in site 1 for S-1-1-0 are 0
10:30:53 AM Event -> VuemExternalTaskController.RetrieveAssignedEntityTasksList() : Assigned external tasks in action group after conflict process in site 1 for S-1-1-0 are 0
10:30:53 AM Event -> VuemExternalTaskController.RetrieveAssignedEntityTasksList() : Assigned external tasks finally in site 1 for S-1-5-21-2425805296-4094428744-3842946302-1222 are 1
10:30:53 AM Event -> VuemExternalTaskController.RetrieveAssignedEntityTasksList() : Assigned external tasks finally in site 1 for S-1-1-0 are 0
10:30:53 AM Event -> VuemExternalTaskController.ProcessGenericActionTypesIfAny() : No Generic External Task found for item DOMAIN\username (S-1-5-21-2425805296-4094428744-3842946302-1222)
10:30:53 AM Event -> VuemExternalTaskController.ProcessGenericActionTypesIfAny() : No Generic External Task found for item Everyone (S-1-1-0)
10:30:53 AM Event -> VuemExternalTaskController.ProcessItemEntityTasks() : No External Task found for Item -> Everyone
10:30:53 AM Event -> VuemExternalTaskController.SortActionsList() : Sorting External Tasks List for DOMAIN\username...
10:30:53 AM Event -> VuemExternalTaskController.ProcessItemEntityTasks() : Agent Max Degree Of Parallelism for Item DOMAIN\username When Processing ExternalTasks is 4
10:30:53 AM Event -> VuemExternalTaskController.ProcessItemEntityTasks() : Agent Max Retry Times for for Item DOMAIN\username When Processing ExternalTasks is 0
10:30:53 AM Event -> VuemExternalTaskController.ProcessSingleEntityTask() : External Task -> LoginScript found for Item: DOMAIN\username (S-1-5-21-2425805296-4094428744-3842946302-1222)
10:30:53 AM Event -> VuemExternalTaskController.() : Settings: executeAtLogon: True, executeAtLogoff: False, executeWhenRefresh: True, executeWhenReconnect: True
10:30:53 AM Event -> VuemExternalTaskExecutor.ProcessAssociatedTaskMethod() : Processing External Task -> LoginScript (Id:2)
10:30:53 AM Event -> VuemFilterController.GetFilterRuleState() : Now Starting Filter Rule Processing -> Filter Rule Id : 1
10:30:53 AM Event -> VuemFilterController.GetFilterRuleState() : Default 'Always True' Filter Rule (Id:1) Detected -> Returning True Value
10:30:53 AM Event -> DynamicTokensController.ReplaceDynamicTokens() : Replacing HashTags -> no match found for : \\server\Scripts\login.bat
10:30:53 AM Event -> DynamicTokensController.ReplaceDynamicTokens() : Replacing User Attributes -> no match found for : \\server\Scripts\login.bat
10:30:53 AM Event -> DynamicTokensController.ReplaceDynamicTokens() : Replacing Printer Attributes -> no match found for : \\server\Scripts\login.bat
10:30:53 AM Event -> DynamicTokensController.ReplaceDynamicTokens() : Replacing User Parent OU -> no match found for : \\server\Scripts\login.bat
10:30:53 AM Event -> DynamicTokensController.ReplaceDynamicTokens() : Replacing with Registry Entry -> no match found for : \\server\Scripts\login.bat
10:30:53 AM Event -> DynamicTokensController.ReplaceDynamicTokens() : Replacing with Xml Value -> no match found for : \\server\Scripts\login.bat
10:30:53 AM Event -> DynamicTokensController.ReplaceDynamicTokens() : Replacing with Ini Value -> no match found for : \\server\Scripts\login.bat
10:30:53 AM Event -> DynamicTokensController.ReplaceDynamicTokens() : Replacing Simple String Operations -> no match found for : \\server\Scripts\login.bat
10:30:53 AM Event -> DynamicTokensController.ReplaceDynamicTokens() : Replacing Split Operations -> no match found for : \\server\Scripts\login.bat
10:30:53 AM Event -> DynamicTokensController.ReplaceDynamicTokens() : Replacing String Operations -> no match found for : \\server\Scripts\login.bat
10:30:53 AM Event -> DynamicTokensController.ReplaceDynamicTokens() : Replacing SubString Operations -> no match found for : \\server\Scripts\login.bat
10:30:53 AM Event -> VuemExternalTaskExecutor.ExecuteAssociatedTaskMethod() : External Task -> LoginScript (Id:2) -> Processing Action Type 0...
10:30:53 AM Event -> VuemExternalTaskExecutor.ExecuteExternalTask() : External Task -> LoginScript (Id:2) -> Settings Initialization...
10:30:57 AM Event -> VuemExternalTaskExecutor.ComputeInformationsAndStartProcess() : External Task -> LoginScript (Id:2) -> Task Return Code -> 2
10:30:57 AM Event -> VuemExternalTaskController.UpdateAssignedTasksHistoryIfNeeded() : Saving External Tasks Assignments History for Item -> DOMAIN\username (S-1-5-21-2425805296-4094428744-3842946302-1222)

Link to comment
  • 0

I will put my leg on it your cache refresh scripts aren't working - everything you are describing and showing points to cache issues

https://github.com/JamesKindon/Citrix/tree/master/Citrix WEM Startup Scripts

 

I would be monitoring to see if your scripts are actually running and the refresh is occurring. Fix your cache sync, fix your problems - it is 99% of the problems with WEM consistency

Link to comment
  • 0
8 hours ago, James Kindon said:

I will put my leg on it your cache refresh scripts aren't working - everything you are describing and showing points to cache issues

https://github.com/JamesKindon/Citrix/tree/master/Citrix WEM Startup Scripts

 

I would be monitoring to see if your scripts are actually running and the refresh is occurring. Fix your cache sync, fix your problems - it is 99% of the problems with WEM consistency

 

Should i be implementing the script a different way than via a local startup script in GP? I've read that some folks use a scheduled task. I'll give that a try to see if its any more effective.

Link to comment
  • 0

Tried the startup script via a scheduled task as well but it didnt seem to have an impact.

 

Is it possible that the cache on my broker could be old/corrupt? is there a refreshcache option for the broker? Or is it possible the database could be corrupt somehow? Just wondering if the refresh cache on the client works but is just pulling down bogus data.

 

Link to comment
  • 0

sorry for the delay, notifications aren't working

 

did you ever run into that challenge where you didn't actually have permission to sync the cache? it came with one of the upgrade versions... Carl has a snap on his site here

image.thumb.png.58256e8eb9d31a25e23daa549cad76d9.png

worth checking the event logs on a manual sync to see what is erroring out

Link to comment
  • 0

I was going to suggest the DBSync folder, too, but it no longer exists in WEM 2006. That said, I still think it could be that script. Your timeout is on a line I've never seen used before. For reference, here's mine:

 

@echo off
ping localhost -n 30 > nul
net stop "Citrix WEM Agent Host Service" /y
net start "Citrix WEM Agent Host Service"
net start "Netlogon"
cd "C:\Program Files (x86)\Citrix\Workspace Environment Management Agent\"
AgentCacheUtility.exe -refreshcache
exit 0

I also use a scheduled task in my image to kick this off, as opposed to a startup script:

 

$Action = New-ScheduledTaskAction -Execute 'C:\Program Files (x86)\Citrix\Workspace Environment Management Agent\RefreshCache.bat'
$Trigger =  New-ScheduledTaskTrigger -AtStartup
$Settings = New-ScheduledTaskSettingsSet -Hidden
Register-ScheduledTask -Action $Action -Trigger $Trigger -TaskName "WEM - RefreshCache" -Description "Refresh the WEM Agent cache" -Settings $Settings -User SYSTEM

 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...