Simple Method to Deliver Multi-Tenant VDI with vCloud Director

In this article I will show you how  you can easily create a multi-tenant Horizon View solution integrated with vCloud Director. The interesting thing about this model is that I don’t see any reasons for not being supported by VMware, but please not I am not saying it is supported. Please talk to your Sales rep.


The concept is rather simplistic.

As you probably know VMware vCloud Director abstract the physical view of the datacenter, and it is also a known fact that Horizon View and View Composer only communicate directly with vCenter Server and vSphere hosts.  So if we want to make this integration work the first thing we need to do is remove this dependency.

A while back I published an article about how to stop Horizon View provisioning and then import virtual desktops into vCloud Director using API Calls; in the example I provide I used PowerShell cmdlet Import-CIVapp. Check it out my article here.

To remove vCenter Server and vSphere hosts we need to start provisioning desktops within vCloud Director itself. That is simple and you can automate that process using vCD PowerShell, Java and .NET.

At this point create a virtual machine in one of your vCD tenant organizations, install and configure your Horizon View environment. Make sure all SNAT and DNAT ports are properly configured for your broker and for your security server. Make sure the right TCP and UDP ports are also open in vShield/vCD firewall. You will find this information in the Horizon View Architecture Planning Guide.

An important part of the process is that you configure a Windows 7 template in your vCD Catalog and pre-set the Guest Customization process to join the desktops to your Active Directory.


Screen Shot 2013-09-05 at 2.15.25 PM



The second important piece is to configure vCD and the virtual machines to automatically install the Horizon View agent and register against the IP address of your tenant View connection server. To accomplish that simple added the following script as the Windows 7 template customization script. Make sure you substitute the IP address for the connection server with the right address – same thing for username and password.


Screen Shot 2013-09-05 at 2.48.53 PM


From now on every virtual machine created in vCD using the Windows 7 template will automatically show up in Horizon View as a Registered Machine. Registered machines can be added to manual pools and accessed via RDP or PCoIP. Simple! Note that these machines are unmanaged machines and View does not have control over power operations, but vCloud Director does.


(click to enlarge)

Screen Shot 2013-09-05 at 2.23.19 PM


You can further enhance the solution deploying virtual desktops via vCD using fast provisioning and implementing your own refreshes operation manually or via API calls.


This article was first published by Andre Leibovici (@andreleibovici) at

Leave a Reply