Citrix Chained Reboot Scripts, now supporting Citrix Cloud, Citrix Virtual Apps and Desktops (CVAD), and XenApp/XenDesktop 5, 6, 6.5, and 7.x!

Share Button

Updated 2018.12.22: Revision 1.9 Now Supports Citrix Cloud!

One script now works with all current and modern versions of XenApp, XenDesktop, Citrix Virtual Apps and Desktops (CVAD), and Citrix Cloud Virtual Apps and Desktops Service from 7.0 and later, through 1811.

In zero-downtime 24/7 environments with shift employees, customers rarely want users to be notified of scheduled or mandatory XenApp server reboots. As a result, most of these environments have reboots disabled or this process is done manually. Unfortunately, this isn’t a good process since the XenApp servers are susceptible to memory leaks which can lead to failure and poor performance. By utilizing the included Chained reboot scripts, environments can take advantage of N+1 overallocation by processing a single server reboot while maintaining the user load on remaining systems. This has been done in such a way that users are not kicked off the system for scheduled reboots.  Instead, the server is removed from load balancing until all sessions have been logged off. Once all sessions have been logged off, the server will go down for a reboot.

Share Button
  1. Erwin VosErwin Vos01-14-2015


    i am testing with your script and i have another question. When a server has one or more sessions, the machine is put into maintenance mode and the script goes to sleep for 5 minutes and then again checks if the server is free of sessions. But the script is waiting until the sessions are gone and the remaining servers are not rebooted. Is there a way to skip the server with sessions and tries it at the end? In that way all other, not rebooted servers, are being rebooted and do not have to wait.

    • Erwin VosErwin Vos01-15-2015

      Hi Dane,

      i have implemented a GPO with a idle and disconnect timer and also session lingering. With that implemented i am able to be 99% sure that in our environment at max unuses sessions are removed and the script goes further. I am now testing the script and hope the script will exit when it finished rebooting the servers.

    • Erwin VosErwin Vos01-15-2015

      Hi Dane,

      the script has rebooted the servers, one server was offline (was skipped) and one server we received an email that is was rebooted, but it was not. After the last server was rebooted, the script remained active. The farmloopinterval was set to 8 hours. Now i am doing a test with one server and the scheduled task will be terminated after an hour, which i configured in the scheduled task. Is this the way to avoid a constantly running script?

  2. Erwin VosErwin Vos01-13-2015

    Hello Dane,

    Great script, but i have one question. I’ve tested it with one delivery group and that is working fine. But after the last server rebooted, the script doesn’t stop. In the script i set the Farmloopinterval to 8 hours but it constantly starts over again. Do i have to manage this in the schedule? Or do i have to set other variables? I use XenDesktop 7.6 and only use applications and no desktops

  3. Aaron McGuireAaron McGuire01-06-2015

    This looks like something i would like to try, but the sharefile link used for download seems to be down or doesnt exist anymore. is it still available to download and try? Thank you.

    • Dane YoungDane Young01-12-2015

      Just tried the link and it seems to be working.

  4. RubenRuben12-30-2014

    Hi, I want to use this script in my Xenapp 7.5 environment. On which server do I need to create the Scheduled task? On my provisioning servers (I have 2 of those) on my storefront servers (also 2) or on one of my xenapp workers (I have 20 of those).

    • Dane YoungDane Young01-02-2015

      Hello Ruben,

      You would create the script on your delivery controllers. I would presume those are the same as your StoreFront servers as you didn’t specifically mention any additional servers.


  5. RobertRobert12-15-2014


    Great script! Unfortunately I cannot get it to work properly. The script seem to run fine and i get this in the event log: “server rebooted properly, load rebalanced. Proceeding with subsequent servers.” but in reality the only thing happening is that logons are disabled on that server, no reboot occur. It’s a XA6.5 farm with HFRP4.



1 15 16 17 18 19 25

Leave a Reply