//
you're reading...

XenApp

XenApp You have not been granted access to this published application.

Here’s an interesting scenario.

You have a XenApp farm with a published desktop and you need to take down half of the servers for maintenance.  You decide to remove half of the servers from the published desktop and wait for users to trickle off the servers.  You monitor the farm for the next couple of hours and notice the session count for the removed servers is going down.

Everything seems to be going as planned until users start reporting they are not able to logon.

image

You investigate and find that users with disconnected sessions are reporting the problem. 

The problem started when the servers were removed from the published application.

“When attempting to reconnect to a disconnected session in which the server hosting the disconnected session was removed from the list of configured servers. It does not matter if the session was disconnected before or after the server in question was removed from the list of configured servers. When removing a server from a published application, the administrator has made a choice for that application to be disabled from be accessed. Allowing the reconnection to a disconnected session in this scenario, would contradict the administrative action. Administrators should send a message to all users of this application on a given server(s) to save the work and logoff, manually reset the sessions, or connect to the sessions and perform a graceful logoff before removing the server from the application.” CTX106920

To fix the problem add the removed servers back to the published desktop and use a load evaluator to put the servers in “maintenance mode”.

A “maintenance” or “lockdown” load evaluator can be used to increase a XenApp server’s load to 10,000.  XenApp servers with a load of 10,000 are considered fully loaded so new sessions will be directed to servers with a lower load.  The best part is that users will still be able to reconnect to disconnected sessions even if the server load is 10,000.  We can use Powershell to create the load evaluator.

New-XALoadEvaluator -LoadEvaluatorName LOCKDOWN -MondaySchedule 00:00-00:00 -TuesdaySchedule 00:00-00:00 -WednesdaySchedule 00:00-00:00 -ThursdaySchedule 00:00-00:00 -FridaySchedule 00:00-00:00 -SaturdaySchedule 00:00-00:00 -SundaySchedule 00:00-00:00

Assign the load evaluator to your server(s).

Set-XAServerLoadEvaluator -ServerName MyServer -LoadEvaluatorName LOCKDOWN