Citrix Provisioning on Azure (Preview update)

This article explains how to move your Citrix Provisioning workloads to the Azure Cloud, using the same provisioning tools and policies as you use with on-premises hypervisors.

You can provision targets yourself, using Azure Resource Manager (AzureRM) instead of the Citrix Provisioning user interface or Posh SDK. The only difference is that you use Azure tools, instead of the tools for your on-premises hypervisor.

This preview includes support for the Citrix Virtual Apps and Desktops Setup Wizard. You can integrate with the Citrix Virtual Apps and Desktops Service using the same tools that you already know. Installing Citrix Provisioning in your Azure subscription is the same as installing it in an on-premises provisioning farm.

This is a technical preview, not a GA release. This preview release is not recommended for production deployments. There is no guarantee that an upgrade from this release to the GA release will be supported.

Issues Fixed in this Release

The following major updates have been made for this second preview release:

  • You can now create more than 40 VMs at a time using the Citrix Virtual Apps and Desktops Setup Wizard. We have tested up to 1,000 VMs, but there is no limit.

  • You can set the maximum number of concurrent VM provisioning operations to as much as 500 operations. Increasing the number of provisioning operations can greatly reduce the time it takes to provision VMs at scale. Set the REG_DWORD registry value, \HKEY_CURRENT_USER\Software\Citrix\ProvisioningServices\VdiWizard\MAX_VM_CREATE_THREADS to the number you need. We recommend 500.

  • You can cancel the Citrix Virtual Apps and Desktops Setup wizard after it starts provisioning VMs without system issues.

  • The time to provision each VM is significiantly less with this release.

  • You can choose a resource group to provision in a different region than the hosting unit. The provisioned VMs are still created in the hosting unit region.

Supported features

The following Citrix Provisioning features are supported in this preview release:

  • UEFI boot of Generation 2 Azure VMs.

  • Streaming 64-bit Windows 10, and Windows Server 2019 target VMs.

  • The Citrix Virtual Apps and Desktops Setup wizard to provision target VMs and add them to a Citrix Virtual Apps and Desktops Service catalog.

  • The import wizard lets you import manually provisioned VMs into the provisioning server.

  • The export wizard lets you create and update catalogs in the Citrix Virtual Apps and Desktops Service from manually provisioned targets.

  • Create a master VM in Azure to act as the source of the virtual disk (vDisk) to be used by the provisioning server.

  • Create a vDisk from an Azure master VM and update it using either provisioning versioning, or reverse imaging.

  • Import an existing image to your Azure setup using Citrix Image Portability Service. See Citrix IPS.

  • Power management of targets from the Citrix Virtual Apps and Desktops Service, provisioning console, 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 and synchronized with your on-premises AD forest and AAD tenant.


When Citrix Provisioning on Azure is released to production, there are no plans for it to support the following features:

  • 32-bit operating systems.

  • PXE and ISO boot of master and target VMs, because Azure does not support them.

  • Generation 1 (BIOS) VMs. Only Generation 2 (UEFI) VMs are supported.

Keep in mind the following Azure limitations:

  • No more than 2500 VMs can be created in a single subscription.

  • If you plan to use Azure File Services to provide storage for vDisks, you must create a Premium Storage Account.

This preview release has the following limitations:

  • The Citrix Provisioning API, which provides scripted access to the provisioning process, is not supported in this preview.

  • Azure SQL Service is not supported. The Provisioning Configuration wizard lists new Authentication types for connecting to an Azure SQL database, but these choices are not yet supported. Select only Windows Integrated Authentication.

  • The Azure machine size used when creating the master VM must be compatible with that used when creating target VMs. This includes the following:
    • Presence or absence of a temporary disk must be the same
    • Presence or absence of a GPU must be the same
  • Template VMs (VMs to be used as a template for creating targets) must exist in the region associated with the Citrix Virtual Apps and Desktops Service hosting unit. For this preview, this means you have to create a template VM in each region.

  • The Azure disks created for the boot and cache disks of target VMs are of type Standard SSD. Currently, this setting cannot be changed.

  • There is no support for specifying specific Availability zones for provisioned targets or for dedicated hosts. In this preview, provisioned targets are spread across all of the availability zones in the target region.

  • There is no guarantee that you can upgrade from this Preview build to any future build.


To use this Citrix Provisioning on Azure Preview release you need the following:

  • System requirements for the on-premises version of the product.
  • License for this Preview.
  • A license server installed.
  • A Microsoft Azure subscription.
  • SQL server or SQL Server Express installed in your Azure subscription.
  • Citrix Virtual Apps and Desktops Cloud connector VMs installed in your Azure subscription. A separate resource location (set of Cloud Connectors) is required for each combination of subscription+region to be used.

You can license this Preview release in one of the following ways:

  • If you have a full Citrix Virtual Apps and Desktops Service subscription, use the included Cloud Citrix Provisioning license.

  • If you are not currently a full Citrix Virtual Apps and Desktops Service user, request a trial on-premises Citrix Provisioning license, and a trial Citrix Virtual Apps and Desktops Service subscription.


    A Trial Citrix Virtual Apps and Desktops Service subscription does not include the special Cloud license for Citrix Provisioning.

For this Preview only, you can install the license server on the same server as Citrix Provisioning.


This high-level architecture diagram shows the components that are either required or recommended to set up Citrix Provisioning on Azure.

Architecture: Citrix Provisioning on Azure

The following diagram focuses on the Citrix Provisioning Server itself, and related components:

Architecture: Citrix Provisioning Server on Azure

This section describes the main components.

Citrix Cloud

When using Citrix Provisioning on Azure, the Citrix Cloud contains the Citrix Virtual Apps and Desktops Service, including the:

  • Connection Broker
  • Connection Broker Catalogs that reference Citrix Provisioning Target VMs running on Azure

The Citrix Provisioning Server does not manage power for Azure target VMs although targets can be manually turned on and off from the provisioning console. The Broker initiates power management by talking directly to Azure. As the VM boots, it streams the boot disk from the virtual disk maintained by the Citrix Provisioning Server.

Azure Active Directory Classic version

In this Preview, Citrix Provisioning on Azure supports “Classic” Active Directory only. You can make the classic Active Directory available on Azure in one of the ways laid out in the Set up Active Directory section later in this document.

SQL Server, or SQL Server Express

This Preview release supports SQL Server and SQL Server Express, but not Azure SQL Service. For more information on installing SQL Server Express, see the appendix at the end of this document.

Citrix Provisioning Server

You install the Citrix Provisioning Server on a server-class Azure VM, similar to on-premises deployments.

The usual processes for providing storage for vDisks apply:

  • You can use local storage on the server VM and manage replication of vDisks between servers yourself.

  • Use Azure Files to provide an SMB server that can be accessed from any server in the region. To create a Premium Storage account to host Azure Files, and it is only supported for access in the same region as the provisioning server.

  • Create a separate VM to act as a file server for sharing vDisks.

Target VMs boot using a small boot disk

The Citrix Provisioning Server and targets do not support either PXE or ISO boot, because they are not available on Azure. Instead, target VMs boot using a small boot disk, the BDM Boot Disk, which is about 20 MB and contains the Citrix Provisioning UEFI boot application.

Once the BDM app is running, it uses the Citrix Provisioning protocol to stream the virtual disk contents to the VM. This disk is created by the Citrix Virtual Apps and Desktops Service Setup Wizard if you use that. If you plan on manually provisioning target VMs, you can use the BDM.exe tool to create a VHD file that is the boot image which can then be uploaded to Azure.

Provisioning of target VMs

The Citrix Virtual Apps and Desktops Service Setup Wizard can handle all of the required steps for provisioning target VMs including:

  • Creation and upload of the boot disk including configuration of provisioning servers to contact.
  • Creation of Active Directory computer accounts, or import of existing computer accounts.
  • Creation of the target VM including the network connection, the boot disk and Citrix Provisioning WBC disk to hold the cache.
  • Configuring the provisioned targets in the provisioning server database.
  • Initial boot and shutdown of the target VMs to enable the WBC disk to be formatted.
  • Creation of a Citrix Virtual Apps and Desktops catalog and adding the provisioned targets to it.

Citrix Provisioning master VM used to capture a virtual disk

The Citrix Provisioning master VM is used to capture a virtual disk. You create the VM manually on Azure where you install the Citrix Provisioning Target Driver package.

The mechanisms for this and the subsequent capture of a virtual disk from the master VM are essentially the same as for existing on-premises installations although there are some important points to note that are covered in the following sections.

Set up Citrix Provisioning on Azure

This section explains the steps for creating a Citrix Provisioning collection with a set of targets streamed from your virtual disk, and links to the Azure docs to guide you.

To set up this preview release, begin by configuring your provisioning server and other infrastructure on Azure. Using the Azure Resource Manager APIs and the instructions (links included), set up the components along the same lines as your current on-premises setup. You can create PowerShell scripts to automate the process.

Enable a feature flag on your Azure subscriptions

You must enable the ReserveMacOnCreateNic feature flag using the following PowerShell commands:

Register-AzProviderFeature -FeatureName ReserveMacOnCreateNic -ProviderNamespace Microsoft.Network
Register-AzResourceProvider -ProviderNamespace Microsoft.Network
<!--NeedCopy--> ```

If you want to permanently remove the capability to create target VMs on Azure you can disable the feature flag as follows:

Unregister-AzProviderFeature -FeatureName ReserveMacOnCreateNic -ProviderNamespace Microsoft.Network
<!--NeedCopy--> ```

Create one or more Resource groups on Azure

Using the Azure documentation, create the Resource groups that match your desired structure.

Set up Active Directory

Use one of the following methods to provide support for Active Directory APIs and functionality on Azure:

  • Enable Azure Active Directory Domain Services feature for the Azure tenant (directory). If you require connectivity with your corporate Active Directory service, install and configure Azure AD Connect on a server in your data center. Azure AD Connect provides synchronization between your on-premises domain controllers and the Azure AD directory.

  • Create an ExpressRoute or VPN back to your data center. AD traffic then flows over the ExpressRoute or VPN to the existing on-premises AD domain controllers.

  • Create an Active Directory domain within your subscription by creating a VM configured as a domain controller.

Establish a virtual network for streaming on Azure

If you don’t already have a virtual network on Azure, create a virtual network per region and subscription that you are using. Refer to the Azure instructions, Establish a Virtual Network.

  • Set up virtual network peering between the virtual network that is set up to stream targets, and the virtual network running Active Directory. These peerings allow connected VMs to communicate with the Domain Controllers for your Active Directory domain.

  • Set the DNS servers for each virtual network to the AD Domain Controllers’ IP addresses.

For secure external access to VMs running in the subscriptions, we strongly recommend that you create your infrastructure VMs with NO public IP address and configure Azure Bastion, as described in the Azure documentation, Configure Bastion.

Create a connector VM on Azure

Create VMs to act as cloud connectors in each unique combination of region and subscription you are using. Then install a Citrix Virtual Apps and Desktops Cloud Connector in it.

Create the Citrix Provisioning Server on Azure

On Azure, create VMs for the provisioning servers. Size servers for the expected load, just as you would for on-premises provisioning servers. Then install the Citrix Provisioning software on the VMs.

Install the Citrix Provisioning software

The Citrix Provisioning Server VMs require the following resources:

  • A VM running SQl/Server or SQL/Server Express that is accessible from the Provisioning Server VM, or SQL Server Express installed on the Citrix Provisioning Server VM. If you choose SQL Server Express on the Citrix Provisioning Server, install it as described at the end of this document.

  • Access to a license server, either an on-premises license server that you access via ExpressRoute, or a separate VM on Azure. Since this is not for use in production, you can install the license server on a Provisioning Server VM.

  • The Active Directory requirements are the same as for the existing on-premises version of Citrix Provisioning.

  • A suitable virtual network and subnets to support the traffic. We strongly recommend NO public IP addresses, and access only using the Bastion Service. If you have multiple virtual networks, configure peering to one or more subnets containing the provisioning server, the licensing server, and Active Directory.

  • At least one NIC per server VM, on the same subnet that targets handled by the server use.

  • Access to virtual disk storage. You can use:

    • Local storage on the Provisioning Server VM (typically via an Azure Data Disk).

    • On a file share implemented by a Premium Azure Storage Account, or Azure Net app Services.


      If you use a file share, reference it by UNC in the Citrix Provisioning setup. For example, \server01\path\path.

      Standard Storage Accounts are not supported by Citrix Provisioning. If you use an Azure File Share, follow the instructions to provide access for the StreamServer to the file share in Azure.

    • On a separate VM providing a file share.

  • A minimum of 2 vCPUs, 8 GB or 12 GB each for the Citrix Provisioning Server VM. The more GBs, the better. Two vCPU with 8 GB RAM is more than enough to provision 10–20 devices.

To install the Citrix Provisioning Server and Console:

  1. Using a Domain Administrator account, log into the Citrix Provisioning Server VM (via the Bastion Host, if using Bastion).

  2. In File Explorer, select the ISO file, right click, and Mount it.

  3. In the mounted drive’s root folder, find the autorun.exe file, and run it. The Citrix Provisioning Installer starts.

  4. Start by installing the Console. The installer prompts you to install prerequisites.

  5. If prompted, reboot, mount the Citrix Provisioning ISO again, and restart the process. Install the Citrix Provisioning Console

  6. Install the Citrix Provisioning Server using the Server Installation link on the autorun program. We recommend you select the option to automatically create firewall rules for provisioning traffic:

    Open all Citrix Provisioning ports automatically

    When the server installation completes, it runs the Citrix Provisioning Configuration Wizard where you set up the provisioning server.

    1. Welcome: Read the Welcome dialog and click Next.

    2. Farm configuration: Indicate whether a new farm is being created:

    3. Database Server: Enter the SQL Server host name or address and the name of the instance you created for the provisioning server to use:

      Install the Citrix Provisioning Console

    4. New Farm: Enter the farm, site, and collection names. We recommend selecting Use Active Directory groups for security, and the Farm Administrator group.

    5. New Store: Specify the store and location. If you are using a file share, then enter a UNC name.

    6. License Server: Enter the license server location.

    7. User Account: Specify the user account to run the services under. If you use a network share for the store, use a domain account with access to the share.

    8. Active Directory Computer Account Password: Accept the default values.

    9. Network Communication: Choose the network interface to be used for streaming and management. If you only have a single NIC, accept the defaults.

    10. Soap SSL Configuration: Accept the default values.

    11. Problem Report Configuration: Enter your MyCitrix credentials to enable submission of cases.

    12. Finish: Review the configuration settings, and click Finish. A dialog reports a warning about the Windows Firewall.

    13. Click OK. A progress dialog opens to display progress as Citrix Provisioning is being configured. If failures occur, you receive a link to review the log.

    14. When configuration is successful, click Done.

Create the master VM

This section explains how to create the master VM, preparing the image to connect to the Citrix Provisioning Server at boot time.

Be sure to use:

  • A Generation 2 machine
  • Windows 10 or Windows Server 2019 OS

To create the master VM:

  1. Create a Virtual Machine:

    1. Log on to the Azure Portal, and go to Home > Virtual Machines.

    2. Click Add, and complete the Create Virtual Machine wizard. Be sure to set these values:
      • Basics: At the bottom of the page, select the I confirm Licensing option.
      • Networking: Specify the subnet used for streaming.
      • Advanced: Ensure VM generation Gen 2 is selected.
    3. Complete the Windows Setup.

    4. Join the domain used by your Citrix Provisioning deployments.

    5. Deploy the VDA, using standard practices.
  2. Ensure that the pagefile location is correct.
    • If the machine size chosen has a temporary disk, ensure that the system pagefile is located on this disk (drive letter D:). If you created the master VM from an Azure Marketplace image, this is done for you. However, if the VM was created from your own image, this might not be the case.
    • If the machine size does NOT have a temporary disk, ensure that the system pagefile is located on the boot (C:) disk.
  3. Install the Citrix Provisioning Target Device software.

    1. Mount the Citrix Provisioning ISO.
    2. Select Target Device Installation and run through the installation. If you are prompted to reboot while installing prerequisites, allow the system to reboot.
    3. Log in again, and rerun the target device installation.
    4. At the end, DESELECT the option to run the imaging wizard, and reboot when prompted.
  4. Update the vDisk, using the Citrix Provisioning master VM the way you normally do. If Azure changes the settings that enable it to boot from the provisioning server, you can boot the VM from the local hard drive, log on, and then reset the boot order as follows:

    1. Run the BDM.exe program:

      C:\Program Files\Citrix\Provisioning Services\BDM.exe.
    2. Specify the Login Server: Enter the Provisioning Server information

      Specify the login server

    3. Burn the Boot Device: Choose to update the OS disk and write a new UEFI boot entry.

      Burn the boot device

    4. Reboot the VM again to have it contact the provisioning server at boot time.

  5. Run the imaging wizard or P2PVS, as you would for an on-premises installation.

    1. Specify the Server name or IP address, and select Use my Windows credentials.

    2. Imaging Options: Select Create a vDisk.

    3. Add Target Device: Specify the Target device name and the Collection name.


      Use a different name than the current host name. The master VM can boot either from the local disk or from the virtual disk you create, but Computer Account password management is not synchronized between them. If you give the target the same name as the current host, you lose domain trust when switching between the two ways of booting the master VM.

    4. New vDisk: Specify the virtual disk name.

    5. Microsoft Volume Licensing: Select KMS Licensing.

    6. What to Image: Select Image entire boot disk.

    7. Optimize Hard Disk for Citrix Provisioning: Select Optimize the hard disk to ensure that unnecessary Windows features are disabled.

    8. Summary: Verify that the settings are correct, and click Create when prompted, reboot the VM. As the VM reboots, the Azure Boot Diagnostic page in the Azure portal displays the boot progress.

    9. When the Master VM finishes booting, log on again. The imaging wizard resumes where it left off. A dialog asks whether to format the disk. Select Cancel. (The imaging takes some time.)

    10. When imaging is complete, exit the imaging wizard.

    11. On the provisioning console:

      • Update the vDisk to Production status, with Cache Type set to Cache in device RAM with overflow on hard disk.
      • Right-click the master VM target definition, and select Active Directory > Create Computer Account.

Create target VMs on Azure using the Citrix Virtual Apps and Desktops Service Setup Wizard

The Citrix Virtual Apps and Desktops Service Setup Wizard lets you create multiple target VMs in a single invocation. The wizard guides you through the complete process of creating target VMs and integrating them with Citrix Virtual Apps and Desktops Service.

Initial Setup

Do the followi once before running the Citrix Virtual Apps and Desktops Service Setup wizard:

  1. Increase the maximum number of concurrent VM creation operations if you are going to create VMs at scale. The default is 10 at a time butthis can be increased to as high as 500. Set the REG_DWORD registry value \HKEY_CURRENT_USER\Software\Citrix\ProvisioningServices\VdiWizard\MAX_VM_CREATE_THREADS to the number you require. We recommend setting it to 500.

  2. If you plan to use your own Service Principal for accessing Azure, follow the guidance in Microsoft Azure Resource Manager virtualization environments to create an SPN suitable for use with provisioning.


Make sure that the quotas are sufficient for VM resources that you plan to create in Azure. You can request a quota increase if needed. However, if the quota limit is hit while the setup wizard runs, the wizard fails.

To create target VMs using the wizard:

  1. Run the provisioning console, right-click the site where you want to create targets, and select Citrix Virtual Desktops Service Wizard.

    Setup Wizard: Welcome

  2. Click through the welcome page, enter any characters into to Controller Address, and choose Next.

    Setup Wizard: Controller Address

  3. Enter Citrix Cloud credentials.

    Setup Wizard: Citrix Cloud Credentials

  4. If you have more than one connector, select the Cloud Customer.

    Setup Wizard: Cloud Customer

  5. Choose the set of Azure hosting units. The wizard displays the list it retrieves them from the Cloud. Select the hosting unit to use based on the resource location you are provisioning to.

    Setup Wizard: Azure hosting unit

  6. Next, establish a Service Principal (SPN) for working with the Azure APIs. An SPN has two components:

    • The Application ID, a GUID uniquely identifying the Service Principal.

    • The application secret.

    You have two choices for specifying the SPN:

    • The hosting unit has a configured Application ID. The setup wizard can generate a new secret for this application - however, you need the credentials for the user that initially created the application ID stored in the hosting unit. Proceed as follows:

      1. Select Use the service principal associated with the Virtual Apps and Desktops host resource, and click Generate an application secret.

        Setup Wizard: Application Secret

      2. Sign into Azure using the same credentials used to create the application.

        Setup Wizard: Sign in

        This process can take a significant amount of time. You can press the cancel button to abort if you think it is hung:

        Setup Wizard: Cancel

        If you do cancel this, you are taken back to the screen to generate or enter authentication information

      3. Once successful, the secret is shown as a set of asterisks. Click OK to continue.

        Setup Wizard: Secret

    • If you previously created your own SPN:

      1. Select Enter the service principal credentials to use, and enter your application ID and secret. Click Test these credentials.

        Setup Wizard: Service principal credentials

        If the SPN is valid, a green check mark is displayed beside the Test button.

      2. Click OK to continue. The wizard loads a list of VMs that you can use as the template for creating target VMs.

  7. Create a VM with all of the settings for the provisioned targets. Template VMs that use a machine size that supports Gen2 VMs are loaded.

    Setup Wizard: VM settings for provisioned targets

    1. Select a VM to use as the template. Choose the same VDA version that you use for on-premises Citrix Provisioning and MCS. Click Next.


      Only the template VMs in the region associated with the hosting unit are displayed.

    2. If the process fails, a message similar to this one is displayed:

      Setup Wizard: Error message

      Click OK to return to the authentication page.

  8. Choose the vDisk to for the provisioned targets.

    Setup Wizard: vDisk for targets

  9. Choose to create a catalog, or add the VMs to an existing catalog.

    Setup Wizard: Catalog

    If you add to an existing catalog, a drop-down list of catalogs is supplied for you to choose from.

  10. Choose the type of VDA and catalog:

    Setup Wizard: Type of VDA Setup Wizard: Type of catalog

  11. Choose the number of VMs to create and the size of the local cache disk. The machine size from the template VM, the number of vCPUs, and memory size are displayed for your information.

    Setup Wizard: Number of VMs, local cache, and machine size


    The boot mode is the only supported boot mode in Azure.

  12. Choose the resource group to use when creating target VMs. The resource group must exist, but you determine how the VMs are allocated to resource groups. In the following example, there is a separate resource group for targets, making it easier to manage all targets as a group.

    Setup Wizard: Resource group


    Choose a resource group in the same region as the hosting unit. The list includes all resources groups, but if you choose one in a different region, the boot disk upload takes longer. (The boot disk is uploaded to the resource group region, and then copied to the region where the VMs are created.)

  13. Select Active Directory for the targets:

    Setup Wizard: AD setup Setup Wizard: AD setup for targets

  14. Set up the information about the provisioning servers that function as login servers for the targets. As with the on-premises product, you can use either a DNS FQDN that translates to a set of servers, or you can specify the desired servers by IP address. If you use an IP address, click Add to display the list of configured servers:

    Setup Wizard: Provisioning servers for targets Setup Wizard: Provisioning servers for targets Setup Wizard: Provisioning servers for targets

  15. Verify the information on the summary page, and click Finish to begin the provisioning process.

    Setup Wizard: Summary page Setup Wizard: Begin provisioning


    In this preview, the progress bars do not show good progress, but this is to be addressed in the GA release.

Manually creating target VMs on Azure

Citrix recommends using the Citrix Virtual Desktops Setup Wizard to create target VMs and integrate with Citrix Virtual Apps and Desktops Service, as documented in the previous section. If you cannot use this for any reason then you can manually provision target VMs using the procedures outlined in this section.

The Citrix Provisioning Server and targets do not support either PXE or ISO boot on Azure, because they are not supported by Azure. Instead, target VMs boot using a small boot disk, the BDM Boot Disk, which is about ~20 MB and contains the Citrix Provisioning UEFI boot application.

Creating the boot disk

Create the boot disk using the Boot Device Manager (BDM) program installed with the server. Run as follows:

  1. Run the BDM.exe from C:\Program Files\Citrix\Provisioning Server.

  2. First page: Set the Provisioning Server information as outlined in the section on creating a master VM.

  3. Second page: In the Device field, select Citrix VHD Image, and click Burn to create it.

Target VMs can also use a DNS name to locate the Provisioning Server, as opposed to specifying its IP address. First, you create a DNS entry that maps to the IP addresses used by the Citrix Provisioning servers on the streaming network. Then, you configure the BDM Boot disk to contact your Citrix Provisioning servers using this name.

Defining the DNS name to locate the Provisioning Server is useful for High Availability (HA), because it allows you to return a list of IP addresses as opposed to configuring all of the IP addresses in the BDM boot disk. To use this feature, you create a DNS entry that maps to one or more IP addresses used by the provisioning servers on the streaming network. In this case, you run the BDM.exe program, and specify the DNS host name for the provisioning server DNS on the first page.

Creating the Target VMs

If you want to provision VMs yourself, use the following instructions to create the target VMs:

  1. Create the BDM boot disk using BDM.exe, and upload the boot disk to Azure managed storage.

  2. Create Target VMs on Azure using the BDM boot disk you created, a cache disk of the size you need and connected to a subnet that has access to the provisioning servers.

  3. Manage the Target devices in Citrix Provisioning. You can manually add each target VM using the provisioning console or use the Import Wizard to bulk import manually provisioned VMs. Use the Azure portal, az command line or AZ PowerShell commands to extract the MAC address assigned to the boot NIC of each manually provisioned target VM.

Integrate Manually Created Targets with Citrix Virtual Apps and Desktops Service

To integrate with the Citrix Virtual Apps and Desktops Service:

  1. Add a Hosting Connection in Studio that connects to your resource location. When you specify your Azure credentials, Studio creates an Azure Application ID and client secret. Citrix Virtual Apps and Desktops Service uses these Azure credentials when controlling the VMs in the resource location. The provisioning Export Wizard uses data from this hosting connection to assist it in creating a Broker Catalog.

  2. Launch the Export Device wizard.

  3. On the Connector Address screen, enter any text address. (Currently, the value in this field is not used.)

  4. Click Next. The Citrix Cloud Authentication window opens.

  5. Authenticate and select your customer.

  6. On the Host Resources screen, the Azure hosting unit is displayed.

  7. Select the Azure hosting unit. Click Next.

  8. Enter Azure credentials as described for the Citrix Virtual Apps and Desktops Setup Service Wizard.

  9. Complete the wizard.

Appendix: Installing SQL Server Express

To install SQL Server Express:

  1. Download SQL Server 2019 Express.

    1. Download the “Express” edition. The download includes SQL2019-SSEI-Expr.exe, the program that downloads the installer, rather than the installer itself.

    2. Run SQL2019-SSEI-Expr.exe, and choose Download Media.

    3. Select option Express Core, and click Download.

  2. Install SQL Server Express by running SQLEXPR_x64_ENU.exe.

  3. Select a temp folder where the program can expand file. Remember the location.

  4. In the Installation Center, go to the Installation section, and select New SQL Server stand-alone installation.

  5. Follow the SQL Server 2019 Setup wizard.

    1. License Terms: Accept the terms.

    2. Global Rules: No changes.

    3. Microsoft Update: Leave cleared.

    4. Install Setup Files: No changes.

    5. Install Rules: No changes.

    6. Feature Selection: Keep the default values.

    7. Feature Rules: No changes.

    8. Instance Configuration: Set the Named Instance and Instance ID to PVS.

    9. Server Configuration: Change the Startup Type of the SQL Server Browser to Automatic.

    10. Database Engine Configuration: Select Mixed Mode, and provide a password for the stand-alone account.

    11. Feature Configuration Rules: No changes.

    12. Installation Progress: Wait for installation to complete.

    13. Complete: Review the results, and click Close.

  6. Exit the Installation Center.

  7. Delete the temp folder and its contents.

  8. Enable TCP/IP access to the SQL Server.

    1. Open the Start menu, and select Microsoft SQL Server 2019 > Configuration Manager to start the Configuration Manager tool.

    2. On the left side, select SQL Server Network Configuration > Protocols for PVS.

    3. On the right side, select TCP/IP.

    4. Click the menu item Action > Enable.

    5. Close the SQL Server 2019 Configuration Manager tool.

  9. Restart the SQL Server.

    1. Start the Services tool (under Windows Administrative Tools in the start menu)

    2. Find SQL Server (PVS), and select it.

    3. Go to Action > Restart.

Citrix Provisioning on Azure (Preview update)