When you create an instant-clone desktop pool, you can configure certain options. You can use this worksheet to record your configuration options before you create the pool.

Before creating an instant-clone desktop pool, take a snapshot of the golden image. You must shut down the golden image in vCenter Server before taking the snapshot.

Table 1. Worksheet: Configuration Options for Creating an Instant-Clone Desktop Pool
Option Option Description Enter Your Value Here
Type Select Automated Desktop Pool.
vCenter Server Select Instant Clone and select the vCenter Server that manages the instant-clone VMs.
User assignment The following settings determine how end users are assigned to the desktops in this pool.
Select Floating or Dedicated.

In a floating instant-clone desktop pool, users are assigned random desktops from the pool. When a user logs out, the instant clone desktop VM is deleted. A new clone is then regenerated using the latest golden image, based on the pool provisioning setting.

In a dedicated instant-clone desktop pools, users are assigned a particular remote desktop and return to the same desktop at each login. When a user logs out, a refresh operation retains the computer name and the Mac address of the VM, deletes the desktop clone, and regenerates a new desktop clone from the latest golden image with the retained computer name and Mac address. You can optionally configure the instant-clone desktop pool to not refresh after logout.

Enable Automatic Assignment In a dedicated-assignment pool, a machine is assigned to a user when the user first logs in to the pool. You can also explicitly assign machines to users.

If you do not enable automatic assignment, you must explicitly assign a machine to each user. For more information, see Assign a Machine to a User in a Dedicated-Assignment Pool.

Enable Multi-User Assignment In a dedicated-assignment pool, you can assign multiple users to each machine in the pool.

Multi-user assignment is not supported for automatic user assignment.

Persistent disks do not support a multi-user assignment.

If an assigned user has a connected or disconnected session on a multi-user assignment machine, other assigned users will be unable to launch a session on that machine. For more information, see Assign a Machine to a User in a Dedicated-Assignment Pool.

Storage Optimization Storage Policy Management:
  • Use VMware Virtual SAN
  • Do not use VMware Virtual SAN
Specify whether to use VMware vSAN, if available. vSAN is a software-defined storage tier that virtualizes the local physical storage disks available on a cluster of ESXi hosts.
Select separate datastores for replica and OS disks Specify whether to store the replica and OS disks on a datastore that is different from the datastores that the instant clones are on.

If you select this option, you can select the options to select one or more instant-clone datastores or replica disk datastores.

Persistent Disk This feature is available for dedicated desktops. Persistent disks allow you to preserve user data and settings when the instant clone is updated, refreshed, or rebalanced.
Redirect Windows Profile to a Persistent Disk Select this option to store data on a separate persistent disk.
  • Disk size Provide the disk size in megabytes.
  • Drive letter Provide the drive letter.

Do not redirect Windows profile Select this option to store the Windows profile in the OS disk.

Persistent disks do not support a multi-user assignment.

Desktop Pool Identification The following settings allow you to identify and describe the pool you are creating.
ID The unique name that identifies the desktop pool.

If you have multiple Connection Server configurations, make sure that another Connection Server configuration does not use the same pool ID. A Connection Server configuration can consist of a single Connection Server or multiple Connection Servers

Display name The pool name that users see when they log in from a client. If you do not specify a name, the pool ID is used.
Access group Select an access group for the pool or leave the pool in the default root access group.

If you use an access group, you can delegate managing the pool to an administrator who has a specific role.

Note: Access groups are different from vCenter Server folders that store desktop VMs. You select a vCenter Server folder later in the wizard.
Provisioning Settings The following settings allow you to provide details on how the pool is provisioned.
Enable Provisioning You can enable or disable virtual machine provisioning in the desktop pool. When you disable provisioning in the desktop pool, Horizon 8 stops provisioning new virtual machines for the desktop pool. After you disable provisioning, you can enable provisioning again.

Before you change a desktop pool's configuration, you can disable provisioning to ensure that no new machines are created with the old configuration. You can also disable provisioning to prevent Horizon 8 from using additional storage when a pool is close to filling up the available space.

When you first create a desktop pool and disable this option, Horizon 8 creates a desktop pool without any virtual machines. If you edit a desktop pool and disable provisioning, Horizon 8 does not allow any new virtual machines to be provisioned in this desktop pool. End users can still connect to existing virtual machines.

For instant-clone desktop pools that are configured to refresh after a user logs out, Horizon 8 deletes the old clone and creates a new clone to replace. This operation will continue to work even if you have disabled pool provisioning.

Stop provisioning on Error Specify whether Horizon 8 stops provisioning desktop VMs if an error occurs and prevents the error from affecting multiple VMs.
Virtual Machine Naming Choose whether to provision machines by manually specifying a list of machine names or by providing a naming pattern and the total number of machines.
Specify names manually Enter names that will be used to create new virtual machines. Each line must contain a unique machine name. Optionally, for dedicated desktop pools, a user name can be specified. Specific user names will be ignored for floating desktop pools.
# Unassigned Machines Kept Powered On The number must be a valid integer greater than 0 and less than or equal to the maximum number of names specified. The default is 1. This option is available for instant clone dedicated pools with virtual machines specified manually and is not available for instant clone floating pools
Naming Pattern If you use this naming method, provide the pattern.

The pattern you specify is used as a prefix in all the machine names, followed by a unique number to identify each machine. See Using a Naming Pattern for Desktop Pools.

Provision Machines
  • Machines on Demand: Min number of machines
  • All Machines Up-Front
Specify whether to provision all desktop VMs when the pool is created or to provision the VMs when they are needed.
  • Machines on demand. When the pool is created, Horizon 8 creates the number of VMs based on the Min number of machines value or the Number of spare (powered on) machines value, whichever is higher. Additional VMs are created to maintain this minimum number of available VMs as more users connect to desktops. This provides dynamic pool expansion capability where the size of the pool expands and contracts to accommodate the number of users who need desktops. When Horizon 8 is deployed on VMware Cloud on AWS, you can configure the Elastic DRS feature (rapid scaling) so that additional hosts can be automatically created (and conversely decommissioned) to meet the capacity required by the desktop pool. For more information about VMware Cloud on AWS, see the VMware Cloud on AWS documentation at https://docs.vmware.com/en/VMware-Cloud-on-AWS/index.html.
    Note: Provisioning machines on demand is only available for machines that use a naming pattern. It is disabled for virtual machines whose names are specified manually in both dedicated and floating pools.
  • All machines up front. When the pool is created, Horizon 8 provisions the number of VMs you specify in Max number of machines. For a floating instant-clone desktop pool, the MAC address is preserved on a resync or refresh.
Desktop Pool Sizing: Maximum Machines Specify the maximum number of desktop VMs and powered on spare machines in the pool. For details, see Naming Machines Manually or Providing a Naming Pattern in Horizon Console.
Desktop Pool Sizing: Spare (Powered On) Machines Specify the number of desktop VMs to keep available to users. For details, see Naming Machines Manually or Providing a Naming Pattern in Horizon Console.
Virtual Device: Add vTPM Device to VMs Select the checkbox to add a Virtual Trusted Platform Module (vTPM) device to VMs.
vCenter Settings The following settings describe vCenter attributes for the pool of desktops.
Golden Image in vCenter Select the golden image in vCenter Server for the pool.
Snapshot Select the snapshot you took of the golden image.

To specify the number of monitors and resolution for your instant-clone desktop pool, you must configure these parameters in the golden image and then take a snapshot. See Configure Number of Monitors and Screen Resolution.

VM Folder Location Select the folder in vCenter Server for the desktop VMs.
Cluster Select the vCenter Server cluster for the desktop VMs.
Resource pool Select the vCenter Server resource pool for the desktop VMs.
Datastores Select one or more datastores for the desktop VMs.

The Select Instant Clone Datastores window provides high-level guidelines for estimating the pool's storage requirements. These guidelines help you determine which datastores are large enough to store the clones. The Storage Overcommit value is always set to Unbounded and is not configurable.

Note: Instant clones and Storage vMotion are compatible. When you create an instant-clone desktop pool on a Storage DRS datastore, the Storage DRS cluster does not appear in the list of datastores. However, you can select individual Storage DRS datastores.

Select the networks to use for the instant-clone desktop pool. You can select multiple vLAN networks to create a larger instant-clone desktop pool. This option uses the network type from the Golden Image that was selected to create the pool and displays networks based on the network type of the Golden Image. You can use the same network as the selected Golden Image or select a network from the list of available options. Networks are filtered based on the Golden Image network type and the networks available in the selected cluster.

The Select Networks wizard provides a list of networks based on the Golden Image's preferred network adapter (Network Adapter 1) network type: Standard, NSX Opaque Network, NSX-V, CVDS, 4.x+ and DVS.

To use multiple networks for a network adapter, you must deselect Use network from golden image (which uses the network and network type from the selected Golden Image) and then select the networks to use with the new pool. The Show all networks for each network adapter switch shows or hides (greys out) incompatible networks for all network types. By default, only compatible networks are shown.

Important: If you already have another pool using same parent and same Golden Image but created with different networks than the Golden Image, the new Instant Clone pool will not use the Golden Image network as expected. To avoid this outcome, select the Show All Networks option and then manually select the desired network.
Note: You can select any one available Standard network per network adapter. Using more than one Standard network per network adapter is not supported.

The wizard displays error messages for the following incompatible networks:

  • vmcNetworks - The network belongs to the VMC internal network.
  • dvsUplinkPort - The network does not meet the naming standards for a virtual switch uplink port.
  • notConfiguredOnAllHosts - The network is not configured on all hosts in the cluster.

The wizard also provides the list of ports and port bindings that are available to use: static (early binding) and ephemeral.

All selected NSX-t network segments must be the same size, such as all /24 networks. Unequal sized segments can result in provisioning errors.

See the video below this table and https://kb.vmware.com/s/article/90569 for additional information.

CPU Update the default CPU if desired.
  • The default value is taken from the selected snapshot in vCenter.
  • You can update this value again in the future using the Push Image function.
Note: The CPU value must be a multiple of the Cores per Socket value.
RAM Update the default RAM if desired.
  • The default value is taken from the selected snapshot in vCenter.
  • You can update this value again in the future using the Push Image function.
Note: If you set a memory reservation on the Golden Image VM through vSphere Client, use the "Reserve all guest memory (All locked)" option to ensure the correct behavior when creating pools with different amounts of RAM than the Golden Image.
Cores per Socket Update the default Cores per Socket if desired.
  • The default value is taken from the selected snapshot in vCenter.
  • You can update this value again in the future using the Push Image function.
Desktop Pool Settings The following settings determine the desktop state, power status, and display protocol when a virtual machine is not in use.
  • Enabled. After being created, the pool is enabled and ready for immediate use.
  • Disabled. After being created, the pool is disabled and not available for use, and provisioning is stopped for the pool. Select this setting if you want other forms of baseline maintenance.
Connection Server restrictions
  • No Restrictions. The desktop pool can be accessed by any Connection Server instance.
  • Restricted to these Tags. Select one or more Connection Server tags to make the desktop pool accessible only to Connection Server instances that have those tags. You can use the check boxes to select multiple tags.
You can restrict access to the pool to certain Connection Servers by clicking Browse and selecting one or more Connection Servers.

If you intend to provide access to desktops through VMware Workspace ONE Access, and you configure Connection Server restrictions, the VMware Workspace ONE Access application might display desktops to users when those desktops are actually restricted. VMware Workspace ONE Access users will be unable to launch these desktops.

Category Folder Specifies the name of the category folder that contains a Start menu shortcut for the desktop pool entitlement on Windows client devices. For more information, see "Configuring Shortcuts for Entitled Pools" in the Horizon Administration document.
Client Restrictions Select whether to restrict access to entitled desktop pools from certain client computers. You must add the names of the computers that are allowed to access the desktop pool in an Active Directory security group. You can select this security group when you add users or groups to the desktop pool entitlement.
Session Types You can enable the VM Hosted Applications feature by selecting the supported session type for the desktop pool:
  • Desktop. Select this option to use the pool as a regular desktop pool. All the virtual machines in the pool can only be used to host desktops.
  • Application. Select this option to use all the virtual machines in the pool to host applications.
  • Desktop and Application. When this option is selected, the virtual machine in the pool can either host a regular desktop session or host an application session. The first connection to the particular virtual machine will determine the session type of the virtual machine.

For more information about the VM Hosted Applications feature, see the technical marketing white paper "Best Practices for Published Applications and Desktops in VMware Horizon and VMware Horizon Apps" available at https://techzone.vmware.com.

Remote Machine Power Policy Determines the power state of instant-clones after provisioning completes. This option is only available for dedicated instant-clone desktop pools .

For descriptions of the power-policy options, see Power Policies for Desktop Pools.

Log Off After Disconnect
  • Immediately. Users are logged off when they disconnect.
  • Never. Users are never logged off.
  • After. The time after which users are logged off when they disconnect. Type the duration in minutes.

    The logoff time applies to future disconnections. If a desktop session is already disconnected when you set a logoff time, the logoff duration for that user starts when you set the logoff time, not when the session was originally disconnected. For example, if you set this value to 5 minutes, and a session was disconnected 10 minutes earlier, Horizon 8 will log out that session 5 minutes after you set the value.

Bypass Session Timeout (Application and Desktop and Application session types) Enable this setting to allow application sessions to run forever. When enabled, all the application sessions belonging to the desktop pool will never be disconnected automatically, neither when reaching the max session timeout nor when reaching the global idle timeout.

This setting is available when you select session types Application and Desktop or Application.

Application sessions that run forever are supported on Windows and Linux clients.

You cannot enable this setting if any of the applications belonging to the desktop pool is part of Global Application Entitlement as local pools.

This setting is not available for application pools in a cloud pod architecture environment.

Application sessions that run forever are not supported for unauthenticated users.

Do not enable this setting if the max session timeout value is set to Never.

When you restart Connection Server, existing forever running application sessions no longer run indefinitely.

Allow Users to Restart Machines

Specify whether users can reset the virtual machine or restart the virtual desktop.

A reset operation resets the virtual machine without a graceful operating system restart.

A restart operation restarts the virtual machine with a graceful operating system restart.

Refresh OS disk After Logoff Select whether and when to refresh the OS disks. This option is available for dedicated assignment pools.
  • Always. The OS disk is refreshed every time the user logs off. Select this option to use App Volumes with dedicated instant clones.
  • Every. The OS disk is refreshed at regular intervals of a specified number of days. Enter the number of days.

    The number of days is counted from the last refresh, or from the initial provisioning if no refresh has occurred yet. For example, if the specified value is 3 days, and three days have passed since the last refresh, the desktop is refreshed after the user logs off.

  • At. The OS disk is refreshed when its current size reaches a specified percentage of its maximum allowable size. The maximum size of a instant clone's OS disk is the size of the replica's OS disk. Enter the percentage at which refresh operations occur.
  • Never. The OS disk is never refreshed.
Reclaim VM disk space Determine whether to allow ESXi hosts to reclaim unused disk space on instant clones that are created in space-efficient disk format. The space reclamation feature reduces the total storage space required for instant clone desktops.
Note: This setting is only applicable if you use a vSphere version earlier than 6.7 and if you use non-vSAN storage. For vSphere 6.7 and later, space reclamation is done automatically by vSphere and no additional steps are needed on Horizon 8.
Initiate reclamation when unused space on VM exceeds: Type the minimum amount of unused disk space, in gigabytes, that must accumulate on a instant clone OS disk to trigger space reclamation. When the unused disk space exceeds this threshold, Horizon 8 initiates the operation that directs the ESXi host to reclaim space on the OS disk.

This value is measured per virtual machine. The unused disk space must exceed the specified threshold on an individual virtual machine before Horizon 8 starts the space reclamation process on that machine.

The default value is 1 GB.

Note: This setting is only applicable if you use a vSphere version earlier than 6.7 and if you use non-vSAN storage. For vSphere 6.7 and later, space reclamation is done automatically by vSphere and no additional steps are needed on Horizon 8.
Show Assigned Machine Name Displays the host name of the assigned machine instead of the desktop pool display name when you log in to Horizon Client.

If no machine is assigned to the user, then Display Name (No Machine Assigned) appears for the desktop pool when you log in to Horizon Client.

Show Machine Alias Name Displays the machine alias name set for the assigned users of the machine instead of the desktop display name for the desktop pool in Horizon Client. Applies only to dedicated desktop entitlements.

If no machine alias name is set but the Show Assigned Machine Name is set, then the machine host name appears for the desktop pool in Horizon Client. Otherwise, the desktop display name appears for the desktop pool in Horizon Client.

Empty session timeout (Applications only)

Determines the amount of time that an empty application session is kept open. An application session is empty when all the applications that run in the session are closed. While the session is open, users can open applications faster. You can save system resources if you disconnect or log out from empty application sessions. Select Never, Immediate, or set the number of minutes as the timeout value. The default is After 1 minute. If you select Immediate, the session logs you out or disconnects within 30 seconds.

You can further reduce the time the session logs out or disconnects by editing a registry key on the RDS Host on which Horizon Agent is installed. Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware VDM\Plugins\wssm\applaunchmgr\Params and set a value for WindowCheckInterval. The default value is 20000. This means that the poll for the empty session check is every 20 seconds, which sets the maximum time between the last application session close and session logout to 40 seconds. You can change this value to 2500. This means that the poll for the empty session check is every 2.5 seconds, which sets the maximum time between the last application close and session logout to 5 seconds.

Pre-launch session timeout (applications only) Determines the timeout for the application session before the session is disconnected or logged off.
When timeout occurs (applications only) Determines whether an empty application session is disconnected or logged off after the Empty session timeout limit is reached. Select Disconnect or Log off. A session that is logged off frees up resources, but opening an application takes longer. The default is Disconnect.
Allow user to initiate separate sessions from different client devices (Desktops only) With this option selected, a user connecting to the same desktop pool from different client devices gets different desktop sessions. The user can only reconnect to an existing session from the same client device. When this setting is not selected, users are always reconnected to their existing session no matter which client device is used.
Remote Display Setting The following settings describe how the desktops are displayed to the end-users.
Default display protocol Select the default display protocol. The choices are VMware Blast, PCoIP, and Microsoft RDP.
Allow users to choose protocol Specify whether users can choose display protocols other than the default.
  • Yes. Allow users to choose a display protocol.
  • No. Do not allow users to choose a display protocol.
3D Renderer This field shows the type of 3D Render available for the instant-clone pool. This is not a selectable field. Depending on what you configured on the ESXi host and the golden image used for this pool, Horizon 8 will automatically display one of the following two options:
  • NVIDIA GRID vGPU. 3D rendering is enabled for NVIDIA GRID vGPU.
  • Manage using vSphere Client. The 3D Renderer option that you configured in vSphere Client.
See Configuring 3D Rendering Options for Instant-Clone Pools.
Allow Session Collaboration Select Enabled to allow users of the desktop pool to invite other users to join their remote desktop sessions. Session owners and session collaborators must use the VMware Blast protocol.
Guest Customization
Domain Select an Active Directory domain. The drop-down list shows the domains that you specify when you configure instant-clone domain administrators.
AD container Specify the Active Directory container's relative distinguished name. For example: CN=Computers.
Use the Find or Browse button to locate the Active Directory tree for the container. Click the Information icons next to the fields to get help using these options.
  • Browse - Returns a list of all containers in the AD. Use this option if you do not know the specific name of the container you are looking for. Note that this search may be slow when searching large AD environments.
  • Find - If you know the name of the container, use Find to perform a faster, more specific search. To list the child containers of the AD container or organizational unit, select Subtree, then Find.
Site Name Select the Active Directory site for the pool.

If the desktop network is at a different site than the Connection Server in a multi-site environment, you must select the correct Active Directory site for the pool. If you get an error, refer to KB Article 2147129 for more information.

Allow Reuse of Existing Computer Accounts Select this option to use existing computer accounts in Active Directory when the virtual machine names of new instant clones match the existing computer account names. See Allow Reuse of Existing Computer Accounts.
Note: Recover operation does not take this setting into consideration and always reuses the machine name.
Image Publish Computer Account Instant Clone publishing needs an additional computer account in the same AD domain as the clones. Computer accounts are typically auto-created as needed. If you want to use pre-created computer accounts instead, also pre-create the additional computer account and specify its name here. This removes the need to delegate Create and Delete of computer objects to the provisioning account.
Use ClonePrep or a customization specification (Sysprep) Choose whether to use ClonePrep or select a customization specification (Sysprep) to configure licensing, domain attachment, DHCP settings, and other properties on the machines.

ClonePrep can run a customization script on instant-clone machines before they are powered off and after they are created or an image has been pushed to them.

After you use ClonePrep or Sysprep when you create a pool, you can edit the customization type or spec name. Changes to the customization spec are not reflected on the pool until a new push image is scheduled, and the currently published image continues to use the old spec even if it has been edited or deleted. If push image fails, the pool continues using the old unedited spec. However, the pool settings continue to point to the new spec name if it has been changed.

For more information about the differences between ClonePrep and Sysprep, see Choosing ClonePrep or Sysprep for Customizing Your Virtual Desktops.

Power-Off Script Name Specify the path name of a script to run on the desktop VMs and the script parameters before the VMs are powered off.
Power-Off Script Parameters Example: p1 p2 p3
Post-Synchronization Script Name Specify the path name of a script to run on the desktop VMs and the script parameters after the VMs are created.
Post-Synchronization Script Parameters Example: p1 p2 p3

This video explains how to configure network types in more detail.