Skip to content

Schedule agent updates for host pools#

Reliability · Azure Virtual Desktop · Rule · 2024_06 · Important

Define a windows for agent updates to minimize disruptions to users.

Description#

Azure Virtual Desktop (AVD) regularly provide updates to the agent software that runs on host pools. The agent software is responsible for managing user sessions and providing access to resources. These updates provide new functionality and fixes. While the update process is designed to minimize disruptions, updates should be applied outside of peak load times.

By default, agent updates are applied automatically when they become available. If you have configured a maintenance window, updates are only applied during the maintenance window that you specify. Each host pool can configure up to two maintenance windows per week.

Recommendation#

Consider defining a maintenance window for agent updates to minimize disruptions to users on AVD host pools.

Examples#

Configure with Azure template#

To deploy host pools that pass this rule:

  • Set the properties.agentUpdate.type property to Scheduled. AND
  • Configure one or more maintenance windows in the properties.agentUpdate.maintenanceWindows property.

For example:

Azure Template snippet
{
  "type": "Microsoft.DesktopVirtualization/hostPools",
  "apiVersion": "2024-04-03",
  "name": "[parameters('name')]",
  "location": "[parameters('location')]",
  "identity": {
    "type": "SystemAssigned"
  },
  "properties": {
    "hostPoolType": "Pooled",
    "loadBalancerType": "DepthFirst",
    "preferredAppGroupType": "Desktop",
    "maxSessionLimit": 10,
    "agentUpdate": {
      "type": "Scheduled",
      "maintenanceWindowTimeZone": "AUS Eastern Standard Time",
      "maintenanceWindows": [
        {
          "dayOfWeek": "Sunday",
          "hour": 1
        }
      ]
    }
  }
}

Configure with Bicep#

To deploy host pools that pass this rule:

  • Set the properties.agentUpdate.type property to Scheduled. AND
  • Configure one or more maintenance windows in the properties.agentUpdate.maintenanceWindows property.

For example:

Azure Bicep snippet
resource pool 'Microsoft.DesktopVirtualization/hostPools@2024-04-03' = {
  name: name
  location: location
  identity: {
    type: 'SystemAssigned'
  }
  properties: {
    hostPoolType: 'Pooled'
    loadBalancerType: 'DepthFirst'
    preferredAppGroupType: 'Desktop'
    maxSessionLimit: 10
    agentUpdate: {
      type: 'Scheduled'
      maintenanceWindowTimeZone: 'AUS Eastern Standard Time'
      maintenanceWindows: [
        {
          dayOfWeek: 'Sunday'
          hour: 1
        }
      ]
    }
  }
}

Configure with Azure Verified Modules

A pre-built module is avilable on the Azure Bicep public registry. To reference the module, please use the following syntax:

br/public:avm/res/desktop-virtualization/host-pool:<version>

Comments