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 manually imported VM to be supported for use with Horizon Cloud, you must:

  • Source the Microsoft Windows VM from the Microsoft Azure Marketplace. To be supported for use in Horizon Cloud on Microsoft Azure, all imported base images must be built from Windows-based VMs that are sourced from the Azure Marketplace. Even if you try an image obtained from other origins and the console does not prevent you from using it within the console's workflows, use of such images is unsupported.
  • 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 the page Horizon Cloud — Available Environments, Operating System Support.
  • When you create the Microsoft Windows VM from the Azure Marketplace, use the corresponding VM model from the following list.

    The following table lists the models validated for Horizon Cloud use to have the manually imported image appear on the console's Imported VMs page and allow use of that page's available workflow actions.

    Note: For valid Windows 11 OS support in Horizon Cloud, the pod must be running the v2204 release's manifest version or later, the VM must be sourced directly from the Azure Marketplace, and the image cannot have been subsequently processed. Importing a Windows 11 VM from any other sources such as Shared Image Gallery (SIG), Azure Managed Images, Azure VM snapshot, and the like is currently unsupported. When you run the Horizon Agents Installer (HAI) to install the agents in a Windows 11 VM, version 22.1 or later must be used.
    Use Case VM Model for Manual Import
    Non-GPU, non-Windows 11 operating systems Standard_DS2_v2
    Non-GPU, Windows 11 OS or a Windows 11 Enterprise multi-session OS Standard_D4s_v3
    GPU-capable Windows 10 OS or a Windows 10 Enterprise multi-session OS or a Windows Server OS
    • Standard_NV12s_v3
    • Standard_NV4as_v4

    To have the Horizon Cloud support of an imported Standard_NV4as_v4 VM, the pod must be running the v2204 release's manifest version or later, the VM must be sourced directly from the Azure Marketplace, and use a Windows 10 OS (single-session or multi-session) or a Windows Server OS. (Horizon Cloud does not currently support use of the imported Standard_NV4as_v4 that uses Windows 11 OSes.)

    GPU-capable Windows 11 OS or a Windows 11 Enterprise multi-session OS single-pod image Standard_NV12s_v3
    Windows 7 OS, no GPU Standard_DS2_v2. GPU is unsupported on Windows 7 by default.
    Note: The Microsoft GPU-capable NV-series, NVv4-series, and NCv3-series might be available only in some Microsoft Azure regions. To have a pod provision GPU-based desktops or remote applications, the pod must be in a Microsoft Azure region in which Microsoft makes those GPU-capable VM series available. See Microsoft Azure Products by region for details.

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.


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. In the portal, navigate into the pod's vmw-hcs-podID-base-vms resource group.
  3. In that vmw-hcs-podID-base-vms resource group, click Create.
    At this point, the Microsoft Azure Portal typically displays its Create a resource pane.
  4. Use the Azure Marketplace to locate and select the Microsoft Windows operating system that you want to use.
    Choose the operating system based on whether you want to use this VM as the golden image for single-session VDI desktops or multi-session desktops or remote applications. 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 are planning to use the NV-series VMs for the NVIDIA GRID driver as the basis for 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.

    The portal displays the Create a virtual machine wizard.
  5. In the Basics step, complete the required fields according to the information below. Items not mentioned in the table here, keep their defaults.
    Option Description
    Subscription Ensure the pod's subscription is selected here, for the pod in which you want to create this golden image.
    Resource group Select the base-vms resource group for that pod (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 pod's Microsoft Azure region.
    Note: If you want to have a GPU-based VM, your subscription must have quota in that Microsoft Azure region for either the NV-series or NVv4 VM types available. Not all VM series are available in all Microsoft Azure regions.
    Availability options We usually select No infrastructure redundancy.
    Image Verify the selection matches the Windows operating system you want.
    Size Choose a size for the VM, based on the preceding table of use cases and VM models. That table lists the models validated for use with the Horizon Cloud image import and image publishing workflows.
    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).
    Licensing 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.
  6. Proceed to the Disks step (Next : Disks>)
  7. In the Disks step, select either Standard SSD or Standard HDD for the OS disk type.
    If this VM will be used for a GPU-based golden image, select Standard HDD for the disk type. Otherwise, you can either keep the default SSD setting or select HDD, according to your needs.
  8. (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.
    When specifying data disks, 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.

    When the data 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.

  9. In the Disks step, expand the Advanced section and confirm that the Use managed disks is selected.
    Caution: You must have Use managed disk to use this VM with Horizon Cloud. If the VM does not have Use managed disk 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.
  10. Proceed to the Networking step (Next: Networking >.
  11. 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.
    Public IP, NIC network security group, Public inbound ports, Select inbound ports If you want to be able to install the agents by connecting to the VM over the Internet using RDP, select to create a new Public IP, a Basic network security group, Allow selected ports, and select RDP (port 3389).

    If you prefer to install the agents by connecting via your VPN connected to your VNet or by using Azure Bastion, you can select None for the Public IP and make your own choices for the network security group and prevent inbound ports.

    Accelerated networking As of this writing, the Azure Portal selects this by default. You can retain the default or clear this setting.
    After you click Review + create, a validation runs. When it passes, the wizard moves to the final step.
  12. 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
  13. 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.