Citrix Provisioning Services in Azure

Written by: Wendy Gay and Colm Govin

Citrix recently announced that Citrix PVS in Azure is now in Public Tech Preview and in this article we are going to discuss the setup of Citrix PVS in Azure and what’s required to get you up and running The documentation for this Tech Preview is available at Citrix Provisioning on Azure (Preview update)

Overview of all components
Citrix components

Pre- Requestisites

When installing PVS in Azure, all the same system requirements as per the on premises version on PVS apply.

  • A Citrix License Server installed on a virtual machine in Azure
  • An Azure Subscription •SQL/ SQL Express – Azure SQL is not yet supported
  • Cloud Connecter in the Azure Subscription
  • Citrix Virtual Apps and Desktop Service Subscription
  • An azure Subscription

Supported Features

Its important to note that there are some limitations when using Citrix PVS within Azure. The following are the supported features;

  • UEFI Boot of an Azure Gen 2 virtual machine. This is a 20 MB disk that contains the Citrix Provisioning UEFI boot application
  • Targets  – 64-bit Windows 10, Windows Server 2016, and 2019 target VMs
  • Citrix Virtual Apps and Desktop Wizard available to create Target Devices.
  • Export wizard in the PVS console to create and update the Machine Catalog
  • Create and update a PVS image using Citrix Provisioning versioning or reverse engineering.
  • Power management of targets from the Citrix Virtual Apps and Desktops Service, or Azure Portal and Azure APIs.

Active Directory support using one of the following means:

  • Azure Active Directory Domain Services that add Active Directory (AD) support to your Azure Active Directory (AAD) Tenant. 
  • Your existing on-premises Active Directory setup over an ExpressRoute connection.
  • Active Directory domain controller VMs installed into your Azure subscription.

Citrix PVS Limitations

There are some limitations to be aware of when configuring PVS in Azure

  • 32-bit operating systems are not supported.
  • Existing on-premises Citrix Provisioning vDisks are not supported. You must create vDisks for the Azure VMs. PXE and ISO boot of master and target VMs are not supported, because Azure does not support them.
  • Booting to BIOS is not supported.
  • Generation 1 VMs are not supported. Only Generation 2 VMs are supported.

Azure Limitations

Step 1 – Configuration of Azure Subscription

In order to ensure that PVS works correctly in Azure, we must make sure that the feature flag for ReserveMacOnCreateNic is turned on.

In order to complete this task, we must complete the following powershell commands

Install-Module Az

Import-Module Az


Register-AzProviderFeature -FeatureName ReserveMacOnCreateNic -ProviderNamespace Microsoft.Network

Register-AzResourceProvider -ProviderNamespace Microsoft.Network

Check  the setting is applied with the followoing command

GET-Register-AzProviderFeature -FeatureName ReserveMacOnCreateNic -ProviderNamespace Microsoft.Network

Step 2 – Installing Citrix PVS

In order to install PVS in Azure, you must use the build that is made available when you apply for the Tech Preview

This link will provide you with the build needed for Azure. The following steps needed to setup PVS.

  • Prepare a virtual machine with a minimum of 2 vCPUs, 8 GB or 12 GB each for the PVS Server VM.
  • Download the TP build for PVS  –
  • Install SQL Server Express –
  • Install a Citrix license server and install an appropriate Citrix license
  • Install the PVS server and Console as per on premises instructions
  • Ensure you choose Cloud when prompted during the installation.
  • Choose the license server during the PVS installation when prompted.
  • Add an additional disk for the PVS Store – This can be a a file share implemented by a Premium Azure Storage Account, or Azure Net app Services ( I used a locally attached disk during testing)

The installation of Citrix PVS is exactly as you would install PVS on premises. Choose cloud when prompted during the installation. Please see PVS installation instructions

Server Installation

Console Installation

Step 3 – Preparing your master image

Now that the PVS server is installed, we can start to create a master image for use within Azure. The following steps are followed when creating the master image

  • Create a Master Image Virtual Machine in Azure – Gen 2 64-bit Windows 10, Windows Server 2016, 2019 target VMs
  • Install the VDA Software on the Image, Adding the cloud connector as the DDC.
  • Install the Target Device Software – Making sure to use the ISO from Podio

After the software installations are complete, run the BDM.exe program from

C:\Program Files\Citrix\Provisioning Services\BDM.exe

to configure the boot disk

Add the option for the PVS Server FQDN of the Server IP Address as shown below.

Make sure to choose the option on the boot device for “Msft Virtual Disk” and to click on the option for Create a new UEFI boot entry

Click OK,

Do not reboot.

Click on Citrix Imaging wizard in the start menu run the Citrix Imaging wizard, and add the name of your Citrix PVS server

Choose to Create a vDisk

Enter a name for the vDisk, choosing the store that was created on the PVS server, or Azure file share that you selected during the installation. I added a disk and formatted it locally creating the store as per on premises.

Choose “Image entire boot disk”

Choose to optimize the hard disk

The imaging wizard will begin the imaging process and will create the vdisk.

Click yes to reboot the machine and click continue.

The imaging process will now begin.

Once this step is complete, change the properties of your PVS vDisk to read only. This will allow for disk for streaming.

Step 4 – Connecting to Citrix Cloud

Within the Provisioning server console, we can use the Citrix Virtual Apps and Desktop wizard to create the following.

  • The Target VMs in the Device Collection
  • The Computer accounts in AD
  • Populate the machines in Citrix Studio

Right click on the PVS Site and Choose “Citrix Virtual Desktops Setup Wizard”

Enter the controller address which is the Citrix Cloud Connector FQDN.

When prompted, enter the Citrix Cloud credentials, including the one time passcode.

If you have multiple Citrix Cloud tenants, choose the correct tenant from the drop down list.

When prompted choose the correct resource location with the Resource Group that you wish to use.

Enter the CVAD service Application ID and Secret key on the service principle section below.

Choose the master image machine as the template machine that will be used to create the target VM’s

Select Create new catalog or choose an existing catalog. This machine catalogue is created within the Citrix Studio console within Citrix Cloud

Choose the size and the number of VM’s. Note that the machines will use BDM Disk by default.

Enter the resource group that the target VM machines will reside

Choose to create new machine accounts

Choose the correct domain and OU for the computer accounts within your domain.

Choose the PVS Server and add the FQDN or IP Address as below

Click finish once you have reviewed the detail

The target machines are created, and are added to the PVS server device collection , and the machine catalogue within Citrix Cloud.

Citrix PVS will now allow for the streaming of images

On the Target VM, you can now login to the server which is domain joined and access the PVS virtual Disk Status tool within the system tray.

The virtual disk indicator shows that boot time is 15 seconds.


PVS is still in Tech Preview, and performance testing at scale is ongoing

PVS has the benefits of versioning and rollback

Performance is expected to be better than on prem as Azure networking is extremely fast

This is a great article to help decide whether PVS or MCS is the best option for your deployment.


Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.