Skip to content


How to Make Your 1,000+ User Azure Virtual Desktop (AVD) Deployment Highly Available

Throughout this article I will be focusing on virtual machines and data as part of your Azure Virtual Desktop (AVD) environment, combined with the Nerdio Manager for Enterprise deployment – from an architectural point of view. This data may be stored on your VMs, in the form of user profiles, departmental and personal user data.

As you may know by now, Azure Virtual Desktop is an Azure Cloud-native service hosted and managed by Microsoft. This means that you don’t have to worry about the underlying infrastructure, such as the database, web portal, the brokering and load balancing of user connections, and so on.

You also do not have to update these components or make them highly available; Microsoft takes care of that for you.

So, what do you need to focus on?

Sets and Zones

When you create a AVD host pool through the Azure portal, you can select the VMs to be deployed in an availability set. When enabled, your VMs will be spread over multiple physical servers, compute racks, storage units, and network switches within a single Azure datacenter.

To protect your VMs from failures and updates, they are placed in and spread out over fault and update domains.

A fault domain is a logical group of physical hardware that shares a common power source and network switch, similar to a rack within an on-premises data center. By default, the virtual machines configured within your availability set are spread across up to three fault domains for (AVD) ARM deployments. This limits the impact of potential physical hardware failures, network outages, or power interruptions within an Azure datacenter.

An update domain is a logical group of physical hardware that can undergo maintenance or be rebooted at the same time. By default, five non-user-configurable update domains are assigned. A sixth VM will be placed in the first update domain, etc.

Considering the above, if a hardware or software failure happens, only a subset of your AVD VMs are impacted.

Think of availability sets as a local datacenter configuration option, meant for redundancy options.

There are a few more details to consider, like the type of storage used for your VMs, for example, but this is the gist of it.

While this helps, all data still resides in the same data center. Preferably, we would like to take it a step further and have our data and VMs separated over a greater distance. This brings us to Availability Zones.


Availability Zones are unique physical locations within an Azure region. Each zone is made up of one or more data centers equipped with independent power, cooling, and networking. To ensure resiliency, there is a minimum of three separate zones in all enabled regions – make sure to check if your region of choice offers support for Availability Zones, not all zones do. 

In turn, Availability Zones in an Azure region are also a combination of fault and update domains as highlighted above. If you create three or more VMs across three zones (the minimum number of zones/data centers per region) in an Azure region, your VMs are effectively distributed across three fault domains and three update domains, one in each zone/datacenter.

Availability Zones within a region are usually 20 to 50 miles apart and are connected by extremely fast network connections.

Keep in mind that lot of AVD deployments are based on non-persistent virtual machines, meaning no data is stored locally. The above might (will depend on your RPO requirements as well) be an overkill – machines can be recreated based on your main / master image (make sure to backup your images regularly before making changes using Manager for AVD’s built-in backup functionality including versioning and rollback options), especially when making use of Nerdio’s autoscaling engine. Of course, when dealing with personal assigned, persistent virtual machines this is another story. 

NOTE: because Nerdio Manager is built on top of resilient Azure PaaS services that are automatically redundant in an Azure region across availability zones, there is no action necessary on your part. PaaS services will automatically fail over to an available zone in case of a datacenter outage and NMW will continue to work as expected.

Think of Availability Zones as a way to protect against data center level failures.

Microsoft Documentation and Availability Zones

If you search for documentation on how to set up Availability Zones for AVD, you are unlikely to find any. There are multiple community-driven posts explaining in detail what needs to be done to get this working (PowerShell incoming), but there is no content from Microsoft directly – related to AVD, that is.

This is where Nerdio shines.


Enabling the use of Availability Sets, which applies to your entire WVD deployment by default, is done by checking a box from our settings page.

However, configuring Availability Zones for your VM’s can be done per host pool, giving you even more granularity. Again, a click of a mouse is all you need, as you can see on the screenshot below.

What About Protecting My Data?

Good question! Of course, backups, snapshots, and such can help with this, but that’s out of scope for this article.

When we look at the data involved, it primarily comes down to profile user data, personal and departmental data.

If you make use of Azure Files, preferably Premium (33% price drop announced recently), a very popular solution often used in combination with FSLogix Profile Containers and MSIX App Attach, not only will this help you achieve high performance, it will also make it a lot easier to create a highly available setup.

Next to your Profile Containers and MSIX App Attach packages, Azure Files are also used to store personal and departmental data. Think of it as a direct replacement for your traditional file server without needing to manage an actual file server in Azure (IaaS). However, you will still be able to work with file shares like you are/were used to in the traditional sense.

High Availability

Azure Files are deployed into Azure storage accounts. This provides the option to configure and use several additional features, like data encryption, at rest as well as in transit, flexible identity/authorization options, backups, snapshots, and more.

One of the main features I want to highlight here is the ability to make use of a (zone) redundant storage account. This can be either “Locally” or “Zone” redundant storage.

Locally redundant storage, referred to as LRS, means that every file is stored three times within an Azure storage cluster. This protects against loss of data due to hardware failures, such as a bad disk drive. This is a single-Azure datacenter configuration.

Zone redundant storage, or ZRS, means that every file is stored three times across three distinct Azure storage clusters. Zone redundancy gives you three copies of each file; however, these copies are physically isolated in three distinct storage clusters in different Azure Availability Zones. This is a multi-Azure datacenter configuration.

Regarding the latter, a write to storage is not accepted until it is written to the storage clusters in all three availability zones.

As a side note: if you want to migrate your existing on-premises file server/shares up to Azure File, give this article a read.

Another option is to choose geo-redundant storage – only available for Azure Files Standard.

Geo-redundant storage is like locally redundant storage, in that a file is stored three times within an Azure storage cluster in the primary region. All writes are then asynchronously replicated to a Microsoft-defined secondary region. Meaning, Geo-redundant storage provides six copies of your data spread between two Azure regions. In the event of a disaster, Microsoft will perform a failover so that the secondary in effect becomes the primary, serving all operations. This can also be performed manually.

Since replication happens asynchronously, this will have an impact on your RPO (Recovery Point Objective). We’re talking minutes instead of hours, but it might still be worth giving it some thought.

Of course, user profiles and data get corrupted from time to time as well, making use of Microsoft’s Azure Backup for Azure File Share will make it easy to restore corrupted profile containers when needed, see this article for some more information.


Storing your files multiple times in different locations, even if it is within the same Azure datacenter, (ex. with redundant storage) means your costs will go up as well – everything comes at a price, right?

The more data you store, the higher the costs will be, which makes sense. 

The use of Availability Sets and Zones is free of charge. Also, you won’t duplicate any machines, and the VMs you create will be spread amongst the available fault and update domains, as well as different Azure datacenters, depending on the chosen configuration. 99.99% VM uptime SLA is offered when two or more VMs are deployed across two or more Availability Zones within an Azure region.

What you will eventually pay for is egress data between VMs in different Availability Zones. See this article for more information. Data transfer billing between Virtual machines across availability zones will begin as of February 2021.

Data exchanged between different regions, in the case of GEO redundancy, for example, is also charged. See the article mentioned above for more detailed information on this as well.

Putting It All Together

First, the main AVD service is managed by Microsoft, nothing we need to (or can) do there.

The main thing(s) you need to worry about are your VMs and data, which can be challenging enough.

As mentioned, (and shown), setting up Availability Zone support can be configured per host pool by selecting a checkbox. Lastly, we will discuss how to enable Availability Sets instead of Zones within Manager for AVD – this setting applies to your entire AVD deployment.

The setup and configuration of Azure Files is also something we have fully automated, as you can see in the image below. Everything that needs to be done on the underlying Azure platform will be taken care of for you. The storage account created as part of this process can be changed afterward, from LRS to GRS or RA-GRS, for example.

Manually creating and working with storage accounts, Azure, Files, FSLogix, etc is also possible. This can be done in case you already have everything running and don’t want to use Nerdio Manager for Enterprise to set up and manage this.

The same applies to setting up and using FSLogix Profile Containers. This can be configured per host pool as well. Enable or disable, use different storage locations, change the registry options you’d like to apply, etc. These types of changes can now be applied without needing to re-image your machines or add in new ones. 

The best thing is, once you have everything set up using Nerdio Manager for Enterprise, it will just continue working, even if the Nerdio Manager for Enterprise installation becomes unavailable for any reason. A thing worth considering here is that Nerdio Manager for Enterprise is also responsible for scaling the AVD environment (adding, removing, starting, stopping, healing etc. hosts). When NMW is unavailable this will need to done manually through the Azure portal. 

Backing up Nerdio Manager for Enterprise is done as per this article. This enables you to restore NME is case of data corruption, for example. 

However, sessions will still be brokered, all data will be accessible, etc. We directly integrate with WVD and other native Azure solutions, which makes Nerdio Manager for Enterprise extremely powerful and flexible, but also non-disruptive.

This way, your VMs will be shielded by Availability Sets or Zones and your data will be replicated to other Zones or Regions.

As highlighted, your Manager for Enterprise application / deployment is bases on native Azure PaaS services which are highly available by default (Availability Zones) in the case of a datacenter / zone failure or outage. 

Microsoft takes care of the AVD service in Azure.

If for whatever reason Nerdio Manager for Enterprise breaks, or needs to be reinstalled (instead of doing a restore), you’ll be up and running, including associating your existing AVD environment within 1-5 hours. Setting up Nerdio Manager for Enterprise is done within 45 minutes. Onboarding an existing AVD environment takes about 15 to 20 minutes, depending on how many machines you have running.

Not a bad RTO (Recovery Time Objective), is it?

As a Final Note

Putting together a Disaster Recovery Plan, which includes concepts like high availability, as discussed throughout this article, is about more than leveraging Availability Sets/Zones and/or redundant data storage (take networking, for example, authentication, and more ). This article is meant to help you on your way and to point out some of the low-hanging fruit when using or thinking about using Nerdio Manager for Enterprise. For more information on making your WVD and Nerdio environment highly available, considering DR in the broader sense including an entire Azure Region outage have a look at this article

Thank you very much for reading.

Bas van Kaam

Nerdio Field CTO, EMEA/UK


Multi-Cloud and On-Premises Deployment with Azure Stack HCI (Coming Soon)

Deploy Azure Virtual Desktop in Azure and extend the session host VM placement to on-premises and other cloud using Azure Stack HCI. Nerdio Manager automates deployment of session hosts, AVD agent installation, and full integration into the AVD deployment in Azure.

Create a brand new Azure Virtual Desktop environment or allow Nerdio Manager to discover an existing deployment, connecting to existing resources, and manage them.

Deploy Nerdio Manager from Azure Marketplace and configure a new AVD environment with an easy to follow, step-by-step configuration wizard. First group of users can access their AVD desktop in less than 2 hours.

Service providers, system integrators, and consultants can leverage Nerdio Manager’s scripted AVD deployment template. Create complete environments with desktop images, host pools, and auto-scaling in minutes.

Create and manage AVD environments that span Azure regions and subscriptions. Quickly link Vnets and resource groups and manage AVD deployments world-wide from unified portal.

Link multiple Azure tenants under the same Nerdio Manager instance and manage AVD deployments that span Azure AD tenants. User identities and session host VMs can run in separate tenants for maximum flexibilty and security.

Deploy and manage AVD environments that span across sovereign Azure Clouds. Cross-sovereign cloud support allows identity (e.g. users and groups) to be in one Azure Cloud, while session host VMs are in another Azure Cloud.

Management of workspaces, host pools, app groups, RemoteApps & custom RDP settings

Administer every aspect of AVD with Nerdio Manager including workspaces, host pools, application groups, RemoteApp publishing, RDP properties, session time limits, FSLogix, and much, much more. Every Azure service that AVD relies on can be managed with Nerdio Manager.

Deploy and manage AVD session host VMs. Hosts can be created manually or with auto-scaling, deleted on-demand or on a schedule, re-imaged to apply updates, run a scripted action, resized, put into or taken out of drain mode, and more.

Manage user sessions across the entire AVD environment, within a workspace, host pool or on a single host. Monitor session status, disconnect or log off the user, shadow or remote control to provide support, or send user an on-screen message.

End users have the ability to log into Nerdio Manager with their Azure AD credentials and manage their own session, restart their desktop VM, or start a session host if none are started in a host pool. (Ability to resize and re-image own desktop is coming soon.)

Create, link, and manage Azure Files shares including AD domain join. Synchronize Azure Files permissions with host pools, configure quotas, and enable SMB multi-channel. Manage file lock handles and configure Azure Files auto-scaling to increase quota as needed.

Create, link, and manage Azure NetApp Files accounts, capacity pools and volumes. Configure provisioned volume size, monitor usage, and use auto-scaling to automatically adjust volume and capacity pool size to accommodate the needed capacity and latency requirements.

FSLogix configuration can be complex and overwheling, but not with Nerdio Manager. Create one or more FSLogix profiles with all the needed options, point at one or more Azure Files, Azure NetApp Files, or server locations and select from VHDLocations, CloudCache and Azure Blob storage modes.

Multiple identity source profiles can be set up and used automatically on different host pools. Active Directory, Azure AD DS, and Native Azure AD are all supported. Choose the appropriate directory profile when adding a host pool and all VMs will automatically join this directory when being created.

Create a copy of a host pool with all of its settings: auto-scale config, app groups and RemoteApps, MSIX AppAttach, user/group assignments, VM deployment settings, etc. Save time by creating host pool “templates” that can be cloned to any Workspace, Azure region or subscription instead of starting from scratch.

Apply user session time limits at host pool level. Automatically log off disconnected sessions, limit the duration of idle sessions, control empty RemoteApp session behavior and more.

Assign Azure AD users to personal desktops to ensure the user will log into a pre-configured VM. Un-assign personal desktops from users who leave the organization and re-use these VMs for new users.

Pre-configure custom Azure tags for all Azure resources associated with each host pool. Tags can be used for charge-back and cost allocation by host pool.

When creating session hosts using NV-series VMs NVIDIA and AMD GPU drivers are automatically installed.

Move existing host pools from Fall 2019 (Classic) object model to Spring 2020 (ARM) object model. Choose to whether to move or copy user assignments. Existing session hosts are automatically migrated or new ones can be created in the ARM host pool.

Automatically enable and configure AVD integration with Azure monitor. Zero configuration required. Azure Monitor Insights for AVD can be used instead of or in conjunction with Sepago Monitor.

AVD personal desktops to Windows 365 Cloud PC migration (Coming Soon)

Migrate users from AVD personal desktops to Windows 365 Enterprise Cloud PCs using an existing image and user assignment. (Coming soon)


Create desktop images from a single pop-up with just a few clicks. No need to Sysprep, capture, version or do any of the other complex Azure image management tasks. Nerdio Manager fully automates the process. Desktop Images can start with a gallery image, existing custom image, or even an existing VM. Images can be stored as custom or Shared Image Gallery integrated objects.

Duplicate desktop images by cloning them to either the same region or another Azure region. Make a clone before making major changes to the image so the changes can be tested without impact the production environment. All with one click.

Distribute desktop images to multiple Azure regions by selecting the locations where the images should be available. Can be enabled on new or existing images. A single desktop image VM can now be used to update AVD session hosts in all locations.

Schedule a recurring update to Desktop Images and automatically re-image host pools on a pre-defined schedule. System and application updates can be automatically applied after hours without manual intervention.

Schedule a regular refresh of a desktop image from Azure Marketplace using the latest patched version. Customize the image with scripted actions and have it automatically deployed to host pools for full end-to-end update automation.

Leverage native Azure backup to create versions of desktop image VMs before making changes and easily revert to prior versions. Take a backup of an image VM while powering it on to modify or manually trigger a backup at any time.

Maintain multiple version of a desktop image by retaining old versions during image updates. These version can be easily used to deploy session hosts in the future.

Modify and update production images and test them without affecting current production host pools that use these images. When updating an image, select for the new version to be created in “staged” mode. Designated test host pools can start using and testing this image right away, but production host pools will only begin using it when it is activated after testing and validation. The end-to-end process of image update, user acceptance testing, and deployment into production can be fully automated.

Ensure that users always log into a pristine, image-based session host by refreshing (re-imaging) used VMs after users log off. In single-user pooled scenarios, desktops will be automatically re-imaged when users log off. In multi-user pooled scenarios, session hosts will be re-imaged as soon as the last user logs off. This way, all hosts will be always kept up-to-date and in pristine state

Schedule a recurring update to Desktop Images and automatically re-image host pools on a pre-defined schedule. System and application updates can be automatically applied after hours without manual intervention.

When session host VMs are re-imaged, the VM name, AD computer object, IP address and DNS host name remain the same. No need to update other systems when re-imaging host VMs since they appear identical to external systems before and after the re-image process.

Before “sealing” the image (i.e. running “set as image” task) document any changes that were made. A report can be generated to show these changes and who made them.


Dramatically reduce Azure compute and storage costs up to 75% by precisely matching the size of Azure infrastructure to the user demand at all times. Nerdio Manager provides multiple auto-scaling algorithms based on CPU usage, RAM usage, user sessions, and user-driven behaviors. Multiple usage triggers can be combined (e.g. CPU and RAM) for precise scaling behavior.

Start VMs when users need them and stop them automatically when no longer in use. VM power management reduces Azure compute costs up to 75%.

Create new session host VMs on-the-fly, as needed, without keeping many VMs created and consuming storage costs by the OS disks. Newly created VMs are always fresh and based on the prestine image state. Add scripted actions to customize the VM provisioning process. When the VMs are now longer needed they can be automatically removed from the environment. A mix of “base capacity” (always created VMs) and “burst capacity” (just-in-time VMs) optimizes costs and user experience.

Auto-scale can start, stop, create, or delete session host VMs based on several auto-scale algorithms that take into account actual usage (e.g. CPU, current active sessions) and/or do so on a schedule to pre-stage capacity in expectation of users logging in.

Balance between cost savings and end-user experience by setting one of three scale in aggressiveness levels that controls the type of hosts can be scaled in (stopped or removed). High aggressiveness provides the highest savings and will forcefully disconnect even active users after end of work hours. Medium will stop host with disconnected sessions. Low aggresiveness will only stop or remove hosts that has no user sessions.

Create multiple auto-scale pre-stage settings to ramp up host pool capacity during certain days of week and times of days. In education environments multiple schedules can be used to turn on VMs based on a pre-defined class schedule.

Provide users with non-persistent, single-user pooled desktops that are used exclusively by a single user during the session then returned to the pool, optionally refreshed/re-imaged, and made available to others. This VDI host pool configuration provides significant savings as compared to permanently-assigned pesonal desktops.

Save up to 90% on Azure VM compute costs while testing an AVD deployment by creating session hosts as Spot VMs. Not to be used in production scenarios as VMs can be unexpectedly “evicted”. Easily convert VMs from spot to pay-as-you-go and back to spot VMs with this scripted action.

Save up to additional 60% on the cost of Azure compute by using Reserved Instances in combination with auto-scaling. Nerdio Manager will analyze prior auto-scale behavior and recommend quantity of CPU core reservations to purchase to take advantage of RI savings.

Host VMs shut down from inside Windows are in stopped, but not deallocated, state and continue to generate Azure compute costs. Nerdio Manager can automatically detect VMs in this state and deallocate them proactively.

Define “running” OS disk storage type (e.g. Premium or Standard SSD) and “stopped” OS disk storage type (e.g. Standard HDD). Auto-scale will change the OS disk to cheaper storage when it stopped and automatically change it to a more performance storage type when the VM is started. This results in up to 75% in OS disk storage savings when the VM is not running.

Save on OS disk storage costs and increase performance with Ephemeral OS disks that can be used for AVD session host VMs. Ephemeral OS disks are free and are stored on the Azure physical host’s local storage and are therefore faster.

Reduce the size of an image VM’s OS disk from the default 128GB to 64GB (or 32GB). This reduces storage costs for session host VMs by requiring a smaller disk and allows for use of smaller VMs with ephemeral OS disks.

Ensure high performance of Azure Files at the lowest possible cost. The performance characteristics of Azure Files Premium are determined by the provisioned capacity quota. Storage auto-scale increases capacity quota in response to increased storage latency (or on a schedule), and decreases it when the extra performance is no longer needed to save on costs.

Ensure high performance of Azure NetApp Files at the lowest possible cost. The performance of an Azure NetApp Files volume is determined by the volume size, regardless of capacity actually used. Storage auto-scale increases the volume size during times of peak demand (e.g. log-on and log-off storms) and decreases it automatically when the extra boost in performance is no longer needed. This is done based on a schedule and/or in response to elevated IO latency. Storage auto-scale also automatically grows volume (and capacity pool) size when capacity reaches a pre-defined threshold ensuring that it never runs out of space.

Shrink FSLogix VHD(X) by removing the “white space” from inside the profile container. This dramatically reducess FSLogix storage costs.

Automatically run Microsoft’s Windows 10 and Windows 11 virtual desktop optimization tool on session host VMs as they are created. This results in drastically improved performance and increased user-per-CPU density, which reduces total Azure compute costs.


Cloud PC License Usage Optimization

Reduce total cost of Windows 365 Cloud PCs by optimizing license assignment and reclaim and re-use unused licenses.

Extend existing AVD environments with Windows 365 Enterprise Cloud PCs. Nerdio Manager automatically creates the necessary network connections, images, and provisioning policies based on the current AVD configuration. It can also be used to deploy Windows 365 even if there is no existing AVD deployment.

Cloud PC device lifecycle management

Manage all aspects of Windows 365 Enterprise Cloud PCs. Restart, re-provision from image, resize to a larger VM size based on available licenses, end grace period when Cloud PC is no longer needed, and run any Powershell script on one or more Cloud PCs.

Cloud PC user group assignment

Create and manage Cloud PC provisioning policy and assign user security groups to policies to begin the provisioning process for licensed users.

Intune primary user management on Cloud PCs

Automatically detect if a provisioned Cloud PC does not have an assigned Intune primary user. Alert administrator and allow for one-click primary user assignment.

Leverage existing AVD images to create Cloud PC deployments. Image updates are automatically applied to AVD and Cloud PC environments using these shared images.

Scripted actions are shared between AVD and Windows 365 Enterprise Cloud PC environments. Scripts that install apps, apply optimizations, or anything else that can be scripted with Powershell can be applied to both AVD session hosts and Cloud PCs.

Migrate AVD personal desktops to Cloud PCs (Coming Soon)

Automate the migration process from a personal AVD host pool to an Enterprise Cloud PC. (Coming soon)


Enable host pool level active/active DR configuration and Nerdio Manager will automatically distribute session hosts across two Azure regions. Users will be distributed across VMs in both regions as they log in and FSLogix profiles will be automatically replicated using Cloud Cache. In case of an Azure region failure users will continue accessing VMs in the available region.

Auto-scale can automatically detect broken AVD session hosts and attempt to repair them by either restarting or deleting and re-creating the VMs without user intervention.

Protect against data center failure by automatically distributing session host VMs across Availability Zones (data centers) in supported Azure regions.

Azure availability sets of variable size can be optionally enabled. When enabled, session host VMs are automatically placed in availability sets when deployed.

Leverage native Azure backup to create versions of desktop images before making changes and easily revert to prior versions. Take a backup of an image while powering it on to modify or manually trigger a backup at any time.

Modify and update production images and test them without affecting current production host pools that use these images. When updating an image, select for the new version to be created in “staged” mode. Designated test host pools can start using and testing this image right away, but production host pools will only begin using it when it is activated after testing and validation. The end-to-end process of image update, user acceptance testing, and deployment into production can be fully automated.

Scheduled Nerdio Manager backup

Configure a scheduled backup of Nerdio Manager application by protecting App Service, Azure SQL database, and key vault contents.


Nerdio Manager is a single-customer Azure application deployed from the Azure Marketplace into a customer’s own Azure environment. It consists of Azure PaaS services only with no VMs to manage. The application is integrated into Azure AD and uses Graph API to turn the dials inside the Azure environment. No third-parties have any access into the customer’s Azure environment.

No third-party vendor access

Nerdio Manager is not a hosted SaaS service, but rather an Azure application that’s installed in a single customer environment. There is no third party access to this single tenant app deployment.

Data residency control

Because Nerdio Manager is an Azure application, customers can choose the Azure region where it is deployed. All associated metadata is stored in a selected Azure region with customer having full control over backup, retention, and destruction of this metadata.

Delegate access to deploy and administer Azure Virtual Desktop deployments to users with defined role-based access controls. Built-in AVD Admins can full access to the environment, Reviewers have read-only access, Desktop Admins can manage images and power state of host VMs, Help Desk users manage user sessions, and End-users can manage their own virtual desktop session in a self-service portal. Create your own custom RBAC roles and select Read-only or Full Access to all areas of Nerdio Manager, including limiting access to individual host pools.

Create custom roles to control admin access to all areas of Nerdio Manager. Custom roles define scope and level of access and can be assigned to users and security groups. Users can access modules in read-only or full access mode.

RBAC admin roles can be assigned to users and groups and proper level of access is provided at Workspace level and host pool. Different groups of admins can manage different sets of Workspaces and host pools within a larger AVD deployment.

Company-provided SSL certificate and domain name can be applied to Nerdio Manager for Enterprise Azure App Service to increase the security posture of the deployment.

Protect Nerdio Manager and AVD deployment by hardening the SQL, Key Vault, Storage Accounts, App Service by enabling private vnet endpoints in Azure.

Prevent Users from Using Saved Password in AVD Client App

Increase security posture of an AVD host pool by preventing users from using saved credentials in their AVD client app. Users will always be prompted for password when logging into their desktop.


Consolidated dashboard that combines usage, costs, and savings across all Workspaces in WVD deployment. Select desired time range and view graphs of named, concurrent, and active users. View graphs of host pools, hosts, and total CPUs. Review and export data on compute and storage costs savings.

Analyze Azure compute (VMs) and storage (OS disks, Azure Files and Azure NetApp Files) costs at per-hostpool, per-workspace and across the entire environment. Understand average per named, concurrent, and monthly active user costs.

Export detailed usage and costs data to be used for chargeback.

Review auto-scale behavior in an easy-to-understand, visualized dashboard that can be drilled into for more detail. All auto-scale behavior, including corresponding user sessions, can be reviewed for further optimization.

View project montly compute (VM) and storage (OS disks) costs when creating a new host pool. The real-time calculation is based on Azure pricing API and takes into account the entire auto-scale configuration profiles. This calculation provides the minimum host pool cost, assuming the pool stays at the minimum size and never scales out, and the maximum cost, assuming the host pool scale out to its maximum size and never scales in.

Azure list prices used for all calculations can be adjusted with a negotiated discount so all financial data accurately reflect actual Azure costs.

Be always in the know with automated notifications and alerts. Define rules to generate email alerts based on various conditions and actions. Select whom to notify based on tasks, statuses, resources, and other criteria.

Gain fully visibility into AVD environment that extends beyond the Azure Monitor Insights. User sessions dashboard provides a wholistic view into user performance that can be drilled down on a per-user basis to understand latency, app input delay, utilization patterns and more.

Hosts dashboard provides a deep analysis of VM performance and utilization (e.g. CPU, RAM, CPU queue, Disk queue, etc.) and displays recommendations for user-to-host density.

Application dashboard display per-application-per-user stastics to understand applicatino usage patterns, application resource consumption, and user behavior.

Track and report on all changes to desktop images performed by all users.


Leverage the power of Nerdio Manager automation by integrating with existing ITSM platforms (e.g. ServiceNow). Add and re-image hosts, create or update desktop images, control user sessions and much more.

Scripted actions provide limiteless flexibility in AVD deployments. Windows scripts can be used to execute any set of Powershell commands on VMs are created, started, stopped, remove, or re-imaged. This can be used to deploy applications, security software, optimizations, and much more. Azure runbooks can be used to configure and maintain the Azure environment on the outside of the VM. Many triggers are available including VM or AVD host create, start, stop, delete, image create, schedule, run-once, and more.

Synchronize scripted actions with Public and/or Private GitHub repositories. Use your favorite tools, like Visual Studio Code, to edit and maintain scripted actions with all of the power of GitHub workflows, versioning, and so much more. Scripted actions are automatically synchronized with GitHub repositories and any changes take effect immediately without any configuration changes made in Nerdio Manager.

Azure DevOps Integration with Scripted Actions (Coming Soon)

Synchronize scripted actions with Azure DevOps. Use your favorite tools, like Visual Studio Code, to edit and maintain scripted actions with all of the power of Azure DevOps workflows, versioning, and much more. Scripted actions are automatically synchronized with Azure DevOps repositories and any changes take effect immediately without any configuration changes made in Nerdio Manager.

Windows scripts and Azure runbooks can be executed automatically with security context maintained by Nerdio Manager during VM create, delete, start stop, and AVD host register operations.

Windows scripts and Azure runbooks can be executed on all hosts within a host pool either on demand or on a schedule with recurrence.

Automatically install software on newly created desktop images or maintain existing images with regular updates using Scripted Actions.

Execute Scripted Actions on desktop images while packaging the VM into an image object. These scripts do not impact the original image VM but only apply to the the resulting image. For example, SCCM agent can be uninstalled from the image but remain on the image VM where it is used to update and install software.

Leverage powerful scheduling capability to schedule any session host actions such as start, stop, add, delete, re-image, resize, activate, deactivate, run script, and more.

Health check probe for third-party tool monitoring

Get status of Nerdio Manager, SQL DB, Azure and AVD access via an unauthenticated URL. Can be used by monitoring tools to check environment health.

Define global variables that can be used by any scripted action. Variables are encrypted and stored securely in Azure Key Vault.

Nerdio Manager provides built-in integrations for popular desktop virtualization tools such as Teradici PCoIP, security and AV tools like Sophos, and much more.


Use Scripted Actions to install and manage applications on desktop images or during session host VM creation. Large library of popular software installations is included and gets updated on a regular basis. Create your own scripts to install and manage your own apps.

Applications installed on images or session hosts are automatically discovered and can be assigned to only some users and groups (whitelist) or be available to all users with exceptions (blacklist). Leveraging FSLogix application masking technology, apps are completely removed from user’s environment unless user is authorized.

Create MSIX images using msix apps, store them in an Azure Files based library with versioning, and deliver these apps seamlessly to users.

Upload native MSIX installer files and let Nerdio Manager automatically expand them into a VHDX container, capture all needed metadata, and make the app available for host pool attachment.

Upload multiple MSIX apps to be packaged together in a single VHDX image. Combining multiple apps in a single image reduces the number of VHDX files mounted on each session host VM and improves performance.

Upload and manage MSIX App Attach images to an Azure Files share. Update images to new versions and automatically apply to all host pools with existing assignments. Leverage images with multiple MSIX packages inside for more efficient app delivery.

Leverage native WVD MSIX App Attach integrations via the AVD agent. Assign MSIX packages to host pools from Nerdio Manager image library or use existing images storage on any SMB storage including Azure NetApp Files and file servers.

Upload and manage a library of self-signed or CA-issued certs that were used to package apps in MSIX format. These certificates can be automatically installed on desktop images or session hosts during provisioning.


Get Certified

Get Certified