Unattended XenDesktop 7.x Delivery Controller deployment with RES ONE Automation

Introduction
I am working on the automation of a Citrix XenDesktop 7.9 deployment for a large customer with RES ONE Automation. Since the created modules work pretty good I would like to share them with the rest of the community.

Larger customers, like the one I created these modules for, usually have dedicated database administrators. Normally only they have SQL dbcreator and security admin rights on the SQL environment. This means that you can’t create the database directly from your automation. So you need to create the XenDesktop database scripts and send them to the DBA’s.

I have created building blocks of the modules for which you can download here. I will give a small walkthrough of the automation steps and why I made certain decisions and of course instructions on how to import and use them.

Instructions:

Import the RES ONE Automation building block and change the following (global) variables in your Automation deployment:
Installation Account
Credentials for the account that will be used for software installation
Installation Account username
Password for the account that will be used for software installation
Installation Account password
Username for the account that will be used for software installation
Software Source
Your software share, for which the installation account should have the appropriate rights

(And yes, you are entering the installation account twice basically)

After that, schedule the job for the agent on the Delivery Controller to be and it will ask you for all the required information.
Of course, your software share should contain the Citrix XenDesktop 7.x software which you can download from Citrix.com. Just extract the ISO to a folder on your software source and you should be fine. The module will ask for an exact location when scheduling.

Modules overview:

There are four modules in the building block. Depending on whether you want to create databases with scripts or directly you will be using two or four of the modules:

1.1 – First delivery controller – Install software & Create site / Create database scripts
1.2 – First delivery controller – Create site after manually running scripts
1.3 – Additional delivery controller – Install software & Join site / Create database scripts
1.4 – Additional delivery controller – Add to site after manually running scripts

When creating the database directly you will be using 1.1 & 1.3. When using de database scripts you will be using 1.1 through 1.4.

Walkthrough of the modules:

1.1 – First delivery controller – Install software & Create site / Create database scripts

Add installation account to local admins
For when you haven’t done this through GPO for example.
Configure auto-logon
In some environments the installation needs to run in an interactive logon. Keep in mind that this is a security risk.
Install XenDesktop 7.x Delivery Controller role
Wait for completion
For when the installation needs a reboot to continue.
Copy the Citrix Studio to the desktop
Personal thing. I prefer to have the specific management consoles for which the server is used to be visible for every administrator that logs on.
Remove Microsoft SQL Express
Bit of an odd one. XenDesktop 7.x is installed with the nosql parameter, but it simply ignores this and installs it anyway. So I need to remove the installation.
Create config folder
This is where the SQL scripts will be placed (when using the default parameter) as well as a text file containing the farm information.
Create database
When using the DBDirect setting
Create database scripts
When using the DBScript setting
Create XenDesktop site
When using the DBDirect setting
Add machine to Automation team
Not really necessary but handy for when you also use RES ONE Automation as a management tool.
Export site information to file
Needed for the next module when using the DBScript setting and also for documentation purposes.

1.2 – First delivery controller – Create site after manually running scripts

Read site information from file
Create XenDesktop site
Add machine to Automation team

1.3 – Additional delivery controller – Install software & Join site / Create database scripts

Add installation account to local admins
Configure auto-logon
Install XenDesktop 7.x Delivery Controller role
Wait for completion
Copy the Citrix Studio to the desktop
Remove Microsoft SQL Express
Create config folder
Create database scripts
Join existing XenDesktop site
Based on the ‘Existing Delivery Controller’-parameter it will query this DC for all the relevant info and join the same site.
Add machine to Automation team
Export site information to file
Write temporary information to file
It will write the ‘Existing Delivery Controller’-parameter to a file, so it can be used in the next module.

1.4 – Additional delivery controller – Add to site after manually running scripts

Read existing XenDesktop Delivery Controller from file
Join existing XenDesktop site
Export site information to file
Add machine to Automation team

Known issues:

– When joining an additional delivery controller to the site with scripts, it still requires an account with securityadmin rights on the SQL deployment. Even after running the scripts. I have also noticed this in a manual deployment and can’t really explain it yet.
– I have disabled the task that adds the machine to a RES ONE Automation team. This job will fail if the team doesn’t exist and there is no way to create a team from the module.

Footnote:

That’s it for now. I didn’t include Director in this deployment because I think it should be on a dedicated machine (with non-administrators using it and all that). Try the modules if you like and let me know if you have any problems. I will also be creating modules for StoreFront, Director, Licensing and Provisioning Services in a couple of weeks. So stay tuned. 😉

DISCLAIMER: This is just my take on the automation of XenDesktop 7.x with RES ONE Automation. So if you have any suggestions on how to improve these modules: I would be very happy to hear it.

Edit March 1st 2018:
The module has been tested with Citrix XenDesktop 7.17 and Ivanti Automation 10.2.100.0 and works accordingly.

Building blocks:

Loading

2 thoughts on “Unattended XenDesktop 7.x Delivery Controller deployment with RES ONE Automation

  1. Lendl

    Hi Mate, The dcoument was exceptional need some help with only deploying XenApp 7.13 Sever VDA on w indows server 2016

    have you got any document for that how to deploy it with RES that would be great

    Reply
    1. Chris Jeucken Post author

      Lendl,
      Thanks for the compliment.

      As for the deployment of a XenApp 7.13 Server VDA on Windows Server 2016 with RES ONE Automation:
      I don’t have anything on the shelf. I have created it for a couple of customers, but I didn’t take it with me.
      I could create it and write a blog about it if you’d like. But it will take me a couple of days.

      In the mean time:
      Did you check the Citrix eDocs Link
      (The Install a VDA using the command line-part)

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *