In the Microsoft Azure portal, you create a virtual machine (VM) with the Windows guest operating system that you want to use for the VDI client-based desktops, RDS-based session desktops, or RDS-based remote applications. You create this VM using the same subscription that you used for the Horizon Cloud pod.

This VM must be created on the same Microsoft Azure VNet (virtual network) to which the pod is connected. Also, this VM must be created in the resource group named vmw-hcs-podID-base-vms, where podID is the pod's UUID identifier. Horizon Cloud automatically detects VMs located in that resource group. Horizon Cloud will list those VMs on the Inventory screen in the console if they have Storage-Use managed disk set to Yes.

For your imported VMs, you can use Microsoft Windows VMs that are available in the Microsoft Azure portal's VM catalog and which match the operating systems currently supported for use in this release of Horizon Cloud. Links to knowledge base articles about the supported operating systems can be found in this release's Environments, Operating Systems, and Compatibility section of the release notes.

Note: The Import VM from Marketplace automated method of importing a VM uses the following specific VM families when it creates a VM. Typically you would choose to use these same patterns when you manually create a VM for importing into Horizon Cloud. Because you will later choose the VM types for the actual RDS-based VMs and VDI client-based desktops when you create the farms and VDI desktop assignments, there are few reasons to use VM sizes for the imported VM that are larger than the ones that the Import VM from Marketpace automated process uses. Potentially, you might want to try a larger size if you are going to load applications into the VM and test them out before sealing the golden image based on that VM.
  • Non-GPU RDS-based operating systems: D2 V3 Standard type
  • Non-GPU client-based operating systems: D4 V3 Standard type
  • GPU-backed RDS-based operating systems: NV6 Standard type
  • GPU-backed client-based operating systems: NV6 Standard type

If the Microsoft Azure region in which the pod is deployed does not include the D2 V3 or D4 V3 Standard types, the automated Import VM from Marketplace process will fall back to use the D2 V2 Standard (for RDS-based OSes) and D3 V2 Standard (for client-based OSes).

For details about the Microsoft Azure VM types and sizes for Horizon Cloud, see VMware Knowledge Base article 77120. For VM size details in the Microsoft Azure documentation, see Sizes for Windows virtual machines in Azure.

Note: The Microsoft VM types that support GPU acceleration, the NV-series types, are only available in some Microsoft Azure regions. To have GPU-based desktops or remote applications available from the pod, the pod must be in a Microsoft Azure region in which the specific NV-series VM types are available. See Microsoft Azure Products by region for details.


Obtain the following information about the pod for which you are creating the VM. To see this information, open the pod's details in the Horizon Cloud administrative console by navigating to Settings > Capacity and clicking the pod's name. Obtain from the pod's Summary tab:
  • The name of the virtual network to which your pod is connected. You must select the same virtual network when creating the VM.
  • The pod's ID for the pod for which you are creating the VM. The pod's ID is an identifier in UUID form. You need this UUID to identify that pod's resource groups in the Microsoft Azure portal, so that you know in which resource group to locate the VM.
  • If the pod was deployed with a manually created subnet, obtain the name of the desktop (tenant) subnet. You must select that same subnet when creating the VM.


  1. Log in to the Microsoft Azure portal using the Microsoft Azure account associated with the subscription used to deploy the pod.
  2. Navigate into the pod's vmw-hcs-podID-base-vms resource group by clicking Resource Groups in the portal's left navigation, locating that specific resource group, and then clicking its name.
    To list only the resource groups for a particular pod, on the Resource groups screen, type that pod's ID into the Filter by name field.
  3. In the screen for that vmw-hcs-podID-base-vms resource group, click Add.
  4. Locate the Microsoft Windows operating system that you want to use.
    Choose the operating system based on whether you want to provision VDI client-based desktops or RDS-based desktops or remote applications using this base VM. Links to knowledge base articles about the operating systems supported by Horizon Cloud can be found in the documentation topic Horizon Cloud — Environments, Operating Systems, and Compatibility.
    Important: If you want to have GPU-based RDS-based desktops, avoid Microsoft Windows Server 2012 R2. An NVIDIA driver limitation will limit the number of end-user sessions you can have accessing each Windows Server 2012 R2 farm VM to a maximum of 20 sessions on each.

    Do not select Microsoft Windows 7 if you want to have GPU-based desktops. Using Windows 7 with GPU is not supported in Horizon Cloud.

  5. Click the one you want for the base VM.
  6. In the new pane, verify it says Deploy with Resource Manager under the Create button, and then click Create.
    The portal displays the wizard steps for creating the virtual machine, open to the Basics step.

    The following screenshot is an illustration of the displayed wizard steps when Windows 10 Pro N, Version 1809 was selected.

    Screenshot of Create a Virtual Machine at the Basics step

  7. In the Basics step, complete the required fields and then click Next: Disks to save your values and go to the next step.
    Option Description
    Subscription Keep the default setting of your subscription selected.
    Resource group Select the base-vms resource group for the pod from which you want to serve the virtual desktops and applications (vmw-hcs-podID-base-vms).
    Virtual machine name Give this VM a name of up to 15 alphanumeric characters.
    Region Select the region that matches the Microsoft Azure region in which your pod is deployed.
    Note: If you want to have a GPU-based VM, the pod's Microsoft Azure region must have the NV-series VM types available. The NV-series types are not available in all Microsoft Azure regions.
    Availability options Keep the default (No infrastructure redundancy).
    Image Verify the selection matches the Windows operating system you want.
    Size Choose a size for the VM. If you want to choose according to the ones used by the system's automated Import VM from Marketplace wizard, those are:
    • Non-GPU RDS-based operating systems: D2 V3 Standard type
    • Non-GPU client-based operating systems: D4 V3 Standard type
    • GPU-backed RDS-based operating systems: NV6 Standard type
    • GPU-backed client-based operating systems: NV6 Standard type
    Note: Horizon Cloud does not support using GPU NV series with Microsoft Windows 7.
    Username Enter a name for the VM's default administrator account.

    Confirm password

    Enter a password for the default administrator account, and confirm it.

    The password must adhere to the password complexity rules that Microsoft Azure defines for the VM. Typically the password must be at least 12 characters long have three of the following: one lower case character, one upper case character, one number, and one special character that is not backslash (\) or hyphen (-).

    Public inbound ports If you want to be able to install the agents by connecting to the VM over the Internet using RDP, select Allow selected ports and select RDP (port 3389).
    SAVE MONEY section Follow the on-screen instructions. Select the choices appropriate for the valid licensing that your organization has for use with the Microsoft operating system that you selected.

    The following screenshot illustrates some of the settings when Microsoft Windows 10 ProN, Version 1809 is the selected VM type.

    The Create a VM Basics step with values filled in

  8. In the Disks step, select either Standard SSD or Standard HDD for the OS disk type.
    If this VM will be used for GPU-based virtual desktops or applications, select Standard HDD for the disk type. Otherwise, you can either keep the default SSD setting or select HDD, according to your needs.
  9. (Optional) In the Disks step, if you want the virtual desktops or RDSH instances that will be based on this base image to have data disks, use the DATA DISKS section to create and attach data disks to this base VM.
    In the Create a new disk window, for the Source type, select None (empty disk). For the other choices, you can keep the defaults or change them. You can customize the name of the data disk. When you have specified the required settings, click OK.

    The following screenshot is an illustration of the Create a new disk window with its fields filled out.

    Screenshot that illustrates the Create a new data disk step

    When the disk is listed on the Disks step, you can optionally select a Host caching setting for the data disk. Typically you choose a setting according to what you think will work best for your intended use of the data disk.

  10. In the Disks step, expand the ADVANCED section and confirm that the Use managed disks toggle is set to Yes.
    Caution: You must keep Use managed disk set to Yes. If the VM does not have Use managed disk set to Yes before you run the installer that installs the agent-related software components, Horizon Cloud cannot use this VM and you have to create another one.
    The following screenshot is an illustration with one data disk specified.
    Screenshot that illustrates the Create a VM - Disks steps filled out.

  11. Click Next: Networking to move to the next step.
  12. In the Networking step, configure the virtual network and subnet settings as described below, and then click Review + create to save your entries and go to the review step.
    Keep the default values for the other settings.
    • As described in the prerequisites section above, you must set the Virtual network to the same VNet that the pod uses.
    • Do not alter the defaults for the other options in the Networking screen (such as no extensions). Keep the defaults for those options. Do not make changes other than what is mentioned in the following table.
    Option Description
    Virtual network Click Virtual network and select the same virtual network (VNet) to which the pod is connected.
    Subnet Click Subnet and select the one that is your pod's desktop (tenant) subnet. If the pod deployer automatically created the subnets when the pod was deployed, this subnet is named vmw-hcs-podID-net-tenant.

    Create a Base VM in Microsoft Azure Step 3

    After you click Review + create, a validation runs. When it passes, the wizard moves to the final step.
  13. In the final step, review the summary and verify the settings, especially the resource group, virtual network, subnet, and Use managed disks is set to Yes.
    The resource group and subnet names contain the pod's UUID ( podID).
    Setting Value
    Resource group vmw-hcs-podID-base-vms
    Use managed disks Yes
    Virtual network The pod's virtual network.
    Subnet vmw-hcs-podID-net-tenant

    Create a base VM in Microsoft Azure

  14. Start deploying the VM by clicking the Create button at the bottom of the pane.


Microsoft Azure starts deploying the new VM into the resource group. When the VM is deployed successfully in Microsoft Azure, the Horizon Cloud console's Imported VMs page lists the VM. The page shows the VM's agent state as Not Paired, because you have not installed the agent-related components yet.
Imported VMs page showing the newly created manual image with a green arrow pointing to the agent status

Note: If you have adhered to the conditions such as creating the VM with managed disks, attaching it to the pod's primary tenant subnet, and locating it in the pod's base-vms resource group — and yet you are not seeing the VM listed on the page — that could be due to a rare issue where the pod is not recognizing VMs that do not have tags on them. To work around this issue, in the Microsoft Azure portal, manually add a tag to the VM. The tag can be any value. In the Microsoft Azure portal, on the VM's Overview page, where it says Tags (change), click change and add a tag. Then refresh the Imported VMs page.

What to do next

Fully deploying the VM can take several minutes. When the portal's dashboard indicates that the VM is created and ready, make a remote desktop connection to the VM's public IP address and continue configuring the base VM. Complete the steps in Prepare the Manually Created VM Prior to Installing the Agents.