Unlocking Efficiency with Auto-Scale Profiles in Nerdio Manager for Enterprise, part 2
Schedule-based (Personal)
Next in this series we will look into the individual settings for a Schedule-Based (Personal) Autoscale profile.
Nerdio Manager for Enterprise offer 3 different autoscale profiles for Azure Virtual Desktop VM´s based on your specific needs, filling the gap from native functionality available in Azure.
These are:
- User-driven (Personal desktops)
- Schedule-based (Personal desktops)
- Shared (Multi-User desktops)
For information regarding the other profiles, click the corresponding links above.

Lets dive in to the different options we have and what they do! (To go straight to a specific section, click the corresponding link below
HOST POOL PROPERTIES
WORKING HOURS
HOST OS DISKS
AUTO-GROW
AUTO-SHRINK
MESSAGING
AUTO-HEAL BROKEN HOSTS
Host Pool Properties

Start VM on connect – When enabled, stopped VMs will be automatically started when users attempt to connect
Working Hours

- Set the days and time during which the desktop VMs should be powered on
- Power off aggressiveness – Let you configure one of three modes on how to power VMs off
- Low – Only power off those desktops VMs that have no active or disconnected sessions.
- Medium (default setting) – Power off only those desktop VMs that do not have an active user session, including those with disconnected sessions.
- High – Power off all desktop VMs, including those with active and disconnected sessions. Users with active sessions will be sent a message defined below and given time to log out before the VM is powered off.
- Low – Only power off those desktops VMs that have no active or disconnected sessions.
- Power on timing
- Once – All desktop VMs will be powered on ONCE at the start of working hours. If a VM is powered off after the start of working hours it will NOT be automatically powered back on by auto-scale.
- Never – Do not power on session hosts at the beginning of work hours. Users must manually power on their desktops. (Start VM on connect or User Self-Serice Portal)
- Once – All desktop VMs will be powered on ONCE at the start of working hours. If a VM is powered off after the start of working hours it will NOT be automatically powered back on by auto-scale.
- Power off timing
- Continuously – At the end of working hours all desktop VMs will be powered off (subject to aggressiveness setting above). If any desktop VMs are manually powered on outside of working hours, auto-scale WILL automatically power them off (subject to aggressiveness setting above).
- Never – Do not power off session hosts at the end of business hours.
- Once – At the end of working hours all desktop VMs will be powered off (subject to aggressiveness setting above). If any desktop VMs are manually powered on outside of working hours, auto-scale will NOT automatically power them off.
- Continuously – At the end of working hours all desktop VMs will be powered off (subject to aggressiveness setting above). If any desktop VMs are manually powered on outside of working hours, auto-scale WILL automatically power them off (subject to aggressiveness setting above).
- Include hosts without assigned users – If this option is selected, unassigned desktops will also be started during the auto-scale process. This may be useful for organizations wishing to perform scheduled tasks against desktops during the working day.
Host OS Disks

Configure running and stopped OS disk types to optimize storage costs when user’s desktops are stopped.
While the need for a high performance disk while the VM is running there are often great savings to achieve if the disk is swapped to a lower tier when the host is shut down.
- Set all hosts to running OS disk type during work hours – (Requires Start VM on Connect enabled in Host Pool Properties section)
When enabled, all stopped host VM OS disks will be converted to running disk type during the working hours defined above. This is necessary to ensure that if a VM is started via Azure Start VM on Connect that it will having the correct, high-performance disk type. When this setting is enabled, all ‘disk type differs from policy’ warnings will be hidden for this pool. - Leave desktops that are not assigned to a user with STOPPED OS disk type – When selected, desktop VMs that are unassigned to a user will not have the OS disk converted from STOPPED to RUNNING.
- Use intelligent disk pre-staging for users – Intelligent disk prestaging learns user behavior and automatically adjusts the disk prestage times. This feature requires AVD insights to be enabled and configured for the host pool.
- Mode:
- Hybrid mode – Disks will always be pre-staged based on the defined schedule. The behavior of users who’s work pattern differs will be learned, and additional staging activity will be scheduled. This function is designed as ‘learning mode’, with the benefits of both the standard pre-stage functionality and learned requirements.
- Automated Mode – Disks are pre-staged for existing users only according to the learned schedule. New users will respect the defined schedule until Intelligent prestaging has enough data to automate this process. Disks will be pre-staged 30 minutes before anticipated user logon events.
- Hybrid mode – Disks will always be pre-staged based on the defined schedule. The behavior of users who’s work pattern differs will be learned, and additional staging activity will be scheduled. This function is designed as ‘learning mode’, with the benefits of both the standard pre-stage functionality and learned requirements.
- Mode:
Auto-Grow

Automatically add desktop to the host pool when the number of unassigned desktops remaining falls below a specified threshold.
- Add a new host when the number of available (not assigned to a user) falls below a specified number of:
- Desktops
or - % of total desktops
- Desktops
Auto-Shrink

Automatically remove desktops that haven’t been used in a long time.
- Delete the VM if the users hasn´t logged in for a specific number of days
- Desktop will be set to “Pending deletion” state and deleted after a specified time choosen.
Desktop is set to “Pending deletion” state by the auto-scale process by adding a tag to the VM.
A task will be logged during this process, which can be used for admin notification of a desktop entering “Pending deletion” state. There will also be notification banners in the Nerdio Manager UI indicating that a personal host pool has VMs that are pending deletion. After the “pending deletion” period expires (default: 24 hours) the VM will be permanently deleted. - Exclude Groups or individual users – Enable this option to exclude specified security groups or users from auto-shrink. Desktops assigned to users listed here will not be automatically removed even after prolonged time of inactivity.
- Exclude unassigned desktops – Desktops which have not been assigned to a user will not participate in shrink operations. Use this setting in combination with Auto Grow to maintain a buffer of free unassigned desktops.
- Scripted actions to run when a host is scheduled to shrink – These scripted actions will run after the VM is marked for auto-shrink. These scripts can be Nerdio provided Powershell scripts and runbooks or scripts you have added to Nerdio Manager by linking a GitHub- or Azure Devops repository.
- Notify users of scheduled deletion – Notify the user via email about deletion of their desktop as soon as the inactivity period is exceeded. Notifications on SETTINGS > Nerdio environment page must be enabled for this feature to work.
- Message Subject – Specify a custom message subject line. Maximum 255 characters, variables are not supported.
- Message Text – Configure a custom Auto-shrink message for users.
The below variables are available for use in the message body:
%HOSTPOOL% – returns the name of the affected hostpool
%HOSTNAME% – returns the specific host name
%HOST_IDLE_DAYS% – returns the current number of idle days
%HOST_IDLE_DAYS_THRESHOLD% – returns the configured maximum idle days before Auto shrink is started
%SHRINK_TIME_UTC% – returns the exact time in UTC when the shrink task will occur
%SHRINK_DATE% – returns the exact date that the shrink task will occur
%SHRINK_DATE_EUR% – returns the exact date that the shrink task will occur in DD/MM/YYYY format
%FRIENDLY_WORKSPACE_NAME% – returns the friendly workspace name
%FRIENDLY_HOSTPOOL_NAME% – returns the friendly hostpool name
%USER_NAME% – returns the assigned user display name
%IMAGE_NAME% – returns the Azure API ‘Name’ for the desktop image
%VM_SKU% – returns the Azure API ‘Name’ for the VM size
%DISK_SKU% – returns the Azure API ‘Name’ for the OS disk
- Notify an additional email recipient when desktops are scheduled to be deleted
Specify the email address of an additional user or distribution group to alert when the inactivity period of desktops in this pool has been exceeded. Notifications on SETTINGS > Nerdio environment page must be enabled for this feature to work.- Message Subject – Specify a custom message subject line. Maximum 255 characters, variables are not supported
- Message Text: Configure a custom Auto-shrink message for users.
The below variables are available for use in the message body:
%HOSTPOOL% – returns the name of the affected hostpool
%HOSTNAME% – returns the specific host name
%HOST_IDLE_DAYS% – returns the current number of idle days
%HOST_IDLE_DAYS_THRESHOLD% – returns the configured maximum idle days before Auto shrink is started
%SHRINK_TIME_UTC% – returns the exact time in UTC when the shrink task will occur
%SHRINK_DATE% – returns the exact date that the shrink task will occur
%SHRINK_DATE_EUR% – returns the exact date that the shrink task will occur in DD/MM/YYYY format
%FRIENDLY_WORKSPACE_NAME% – returns the friendly workspace name
%FRIENDLY_HOSTPOOL_NAME% – returns the friendly hostpool name
%USER_NAME% – returns the assigned user display name
%IMAGE_NAME% – returns the Azure API ‘Name’ for the desktop image
%VM_SKU% – returns the Azure API ‘Name’ for the VM size
%DISK_SKU% – returns the Azure API ‘Name’ for the OS disk
- Send notification emails to
Enter email address(es) to desired recipients. - Send notifications from
Choose what email that should be the sender (Mailbox needs to be linked in Settings – Environment – Nerdio – Email and webhook notications) - Notifications frequency
Select the frequency at which reminder emails will be sent to the user. A final email will always be sent 1 day before the scheduled deletion. (Choose between Every 24 hours, Every 3 days, Every 5 days, Every 1 week or Every 2 weeks)
Messaging

During a scale in operation after business hours, the system will find session hosts with no active session or with the smallest number of active sessions. If there are still users connected to a session host that has been selected for scale in, a message will be sent to the user, the session host will be placed in drain mode to prevent new connections, and it will be stopped or removed after a pre-defined delay.
- Send a warning message to active users – (X) before powering off the desktop.
- (Choose between No warning, 5, 10, 15, 30, 45 or 60 minutes)
Auto-Heal Broken Hosts

Auto-scale can automatically attempt to repair “broken” session hosts by restarting them or running scripted actions (e.g. re-install AVD agent).
The AVD status is reported to the AVD service by the agent installed on the session host VM. If something is wrong, the status will be something other than “Available”. Not every status other than “Available” means that there is a problem.
The auto-heal operations will run when all scale out activity is complete and the system is in otherwise steady-state.
Hosts with active sessions may still be somewhat functional and such hosts will not be treated as broken. You have the choice to include these as well when triggering an attempt to repair.
- Host is broken if AVD agent status is (You can choose one or more triggers of)
- Unavailible
- Shutdown
- Disconnected
- Upgrading
- Upgrade failed
- No heartbeat
- Not joined to domain
- Domain trust relationship lost
- SxS stack listener not ready
- FSLogix not healthy
- Needs assistance
- Stale heartbeat (>2hrs)
AND - Has no active sessions
- Even has active sessions
- Minutes before first action
Minutes to wait after host is detected to be broken before running first recovery action - Recovery actions
Select one or more recovery actions to run if a host is detected to be broken. The first recovery action will run after the number of minutes specified above and the system will wait the number of minutes specified below between recovery actions. Once the host exists the broken state (as defined above) subsequent recovery actions will not be executed. Recovery actions that are visible here are Powershell scripts and runbooks provided by Nerdio and scripts you have added to Nerdio Manager by linking a GitHub- or Azure Devops repository - Minutes between recovery actions
Number of minutes to wait after each recovery action before running the next one. Once host leaves its broken state (i.e it´s fixed) subsequent recovery actions will not run.
Final Thoughts:
The Schedule-Based (Personal) autoscale profile in Nerdio Manager is a powerful example of how thoughtful automation can elevate IT efficiency while preserving a tailored desktop experience. By aligning virtual desktop availability with user demand and working hours, organizations can save on resources without compromising performance.
Whether it’s leveraging intelligent disk prestaging, proactively managing unassigned desktops, or auto-healing broken hosts, Nerdio Manager’s autoscale profile is built to do more than just scale—it’s designed to understand, adapt, and optimize.
Stay tuned for the third installment where we’ll explore the Shared autoscale profile and how multi-user host pools get the Nerdio efficiency treatment.
Until then, let automation work smarter—so your team can work better. 🚀
