Advanced App Service Configurations
There are several advanced configuration options that can be applied to the Nerdio Manager Azure App Service.
To modify these settings in the Azure Portal, navigate to nmw-app-xxxxxxxxxx App Service > Settings > Environment variables.
After the configuration settings are saved, the App Service is then restarted.
The majority of settings do not exist on the app service configuration by default, and must be added manually. Ensure the setting name and values are specified appropriately in order for Nerdio Manager to process the changes successfully.
Warning: Do not make App Service configuration changes without first consulting with Nerdio Manager support.
Application Setting | Values | Description |
---|---|---|
AutoScale:Enable | Boolean value Default: True False | When set to False, the background auto-scale operations do not run. Auto-scale can still be triggered by selecting Force start in the Host Pool Auto-scale menu. |
AutoScale:ForceDiskTypeSwitch | Boolean value Default: False True | If a "running" and "stopped" disk type has been configured, adding this value changes the disk type to running/stopped on VM start/stop operations, even if the host pool auto-scale configuration is disabled. |
AutoScale:RepeatIntervalInMinutes | Integer value Default: 5 | Controls the frequency of the auto-scale background task that checks for current state of the environment and executes auto-scale operations, as needed. It is not recommended to decrease this value below 5 minutes. Increasing this value can help mitigate Azure API rate limits in very large environments. |
AutoScale:RestartAttempts | Integer value Default: 2 | Controls the number of Restart attempts after an automated auto-scale task fails. Increasing this value recovers from Azure-side issues, such as API rate limits, but may increase the time "wasted" on retries if the underlying issue isn't automatically resolved. |
AutoScale:CleanupAttempts | Integer value Default: 2 | Controls the number of Cleanup attempts after an automated auto-scale task fails. |
AutoScale:MaxHostPoolCapacity | Integer value Default: 999 | Controls the maximum number of base and burst capacity session host VMs on the auto-scale configuration screen. |
AutoScale:BatchMode | Boolean value Default: False True | Nerdio Manager combines auto-scale executions into batches (10 pools max per batch). Tasks are created using a single request to resource graph. |
AutoScale:MaxAutoScaleProcesses | Integer value Default: 10 | Controls the number of simultaneous auto-scale processes. Each auto-scale process runs every 5 minutes (default) for each host pool where auto-scaling is enabled. Changing this value increases or decreases the concurrent number of such processes. |
AutoScale:AllowCustomAutoscaleInterval | Boolean value Default: False True | Adding this setting with a value of TRUE enables a UI element on the auto-scale page of all pools to specify a custom auto-scale assessment interval, up to 120 minutes. The default value for this setting is 5 minutes. |
AutoScale:BaseScaling_MinActivePriority | Boolean value Default: False True | By default, auto-scale tries to build the required number of hosts first (base capacity). After the base capacity is achieved, auto-scale starts to the manage host's power state. When 'Re-image used hosts' option is ON, this may lead to capacity issues. Setting this to TRUE prioritizes user capacity over re-image tasks |
Provision:MaxRestartAttempts | Integer value Default: 2 | Controls the number of Restart attempts after a NON-auto-scale task fails (auto-scale is controlled by a different value). Increasing this value recovers from Azure-side issues, such as API rate limits, but may increase the time "wasted" on retries if the underlying issue isn't automatically resolved. |
Provision:MaxCleanupAttempts | Integer value Default: 2 | Controls the number of Cleanup attempts after a NON-auto-scale task fails (auto-scale is controlled by a different value). |
ArmHostPoolRequestor:ResourceGraphThreshold | Integer value Default: Null | This is a threshold value for switching to Azure Resource Graph when querying host pools. If there are more host pools in the subscription than the specified threshold, then NME queries the host pools using Azure Resource Graph. The recommended value is 50. |
ADCache:SkipGroups | Boolean value Default: False True | When set to True, Entra ID groups are skipped when building AAD cache for user and group assignment management. This setting is useful in environments with tens or hundreds of thousands Entra ID groups in AVD Classic deployments. Note: This is not recommended for AVD ARM deployments, where Group entitlement is preferred. |
RoleAuthorization:LegacyEndUser | Boolean value Default: False True | When enabled, this setting restores the legacy end user portal. This setting also re-enables the legacy RBAC End user role. This setting should be used for Standard edition environments where the legacy end-user portal was in use prior to the introduction of the new end-user portal, which is a Premium feature. |
VmManagement:ScriptedActionsOnVmCreateMode | Default: Default Immediate | When set to "Immediate", the selected scripted actions are run as the first tasks after VM creation. To enable default behavior, set this setting to "Default" or remove the setting. |
VmDeallocator:Enabled | Boolean value Default: True False | When set to False, session host VMs in stopped, but not deallocated, state are left alone. When set to True, session host VMs in stopped, but not deallocated, state are deallocated automatically. This background process runs on an interval specified by VmDeallocator:RepeatIntervalInMinutes. |
VmDeallocator:RepeatIntervalInMinutes | Integer value Default: 10 | When VmDeallocator:Enabled is True, this value controls the frequency of checking for VMs in stopped, but not deallocated, state. Session host VMsfound in this state are automatically deallocated. |
HostPoolVmsConfig:PowerStateRequestBehaviour | Default: PerEachVM ForAllVMs | Controls the way application requests the power state of each VM (PerEachVM) or for all VMs at the same time (ForAllVMs). Note: ForAllVMs may be more efficient in large environments encountering Azure API limits. |
HostPoolVmsConfig:RequestBehaviour | Default: Default ByPool | Controls the way application requests VM information from the UI. When set to Default, all VMs are requested at once. When set to ByPool, information is only requested for the current pool that the user is viewing. ByPool may be more efficient in large environments encountering Azure API limits. Default results in a smoother management experience in Nerdio Manager. |
HostPoolVmsConfig:ResourceGroupAssociation | Default: Default DbStrict | Controls the way the application searches for Host Pool VMs. DbStrict in combination with ByPool (HostPoolVmsConfig:RequestBehaviour) is recommended for large VM environments where the session host VMs are split across resource groups. |
Provision:MaxAddNewVMJobsCount | Integer value Default: 100 | Globally controls the maximum number of concurrent Add host VM tasks that can be added by automation. Increasing this number may increase the error rate due to Azure API limits. Reducing this number reduces the error rate but increases the time to provision new capacity in very large environments. |
IpTracking:Header | Default: Blank X-Forwarded-For | Controls the client IP recorded on the logs entry for tasks triggered interactively. If using a proxy (for example, Application Gateway) and want to record the originating client's IP, set to X-Forwarded-For. |
StorageAutoScale:RepeatIntervalInMinutes | Integer value Default: 5 | Controls the frequency of the storage auto-scale background task that checks for current state of the storage environment and executes auto-scale operations, as needed. It is not recommended to decrease this value below 5 minutes. Increasing this value may be more efficient in large environments encountering Azure API limits. Auto-scale configuration should be adjusted to account for the reduced frequency. |
Cost:Discount | Real value Default: 0 | Controls the negotiated Azure discount applied to all Azure pricing calculations. Possible value range: [0-1], 0 means no discount and 1 means 100% discount. |
Cookie:Persistent | Boolean value Default: True False | Controls behavior of the browser session cookie. True = persistent | False = session. |
Cookie:ExpireOnIdle | Boolean value Default: False True | Controls behavior of the browser authentication cookie. When set to False (default), cookie is automatically refreshed (if Entra ID CA policy allows) as long as the Nerdio Manager app is open in the browser. |
Cookie:ExpireMinutes | Integer value Default: 60 | Controls behavior of the browser authentication cookie expiration. By default, sessions expire after 60 minutes of inactivity. If Cookie:ExpireOnIdle is False (default) the cookie is automatically refreshed if the app is open in the browser. Otherwise, it requires user to sign in again. |
Cookie:ValidateClient | Boolean value Default: False True | When set to True, use of an authentication cookie from another client device with a different source IP address is prevented. This is useful to protect from authentication cookie theft. |
Announcements:CacheMinutes | Integer value Default: 180 | Controls the caching behavior of announcements in Nerdio Manager. By default, announcements are downloaded from Nerdio service every 180 minutes. Setting this value to 0 causes announcements to not be cached and always downloaded on page refresh. |
Features:CustomHostPoolResourceGroup | Boolean value Default: False True | When enabled, this feature includes a UI element to allow the selection of a Resource Group on the Host Pools creation page. |
Features:RequireCloudCacheForDr | Boolean value Default: True False | When set to False, the requirement to have FSLogix Cloud Cache enabled in DR configurations will not be enforced. |
Features:RequireFsLogixForDr | Boolean value Default: True False | When set to False, the requirement to have FSLogix enabled in DR configurations will not be enforced. |
Features:UamServiceAccounts | Boolean value Default: False True | Enable the service account UI element to allow the use of Domain service accounts. This is only applicable to AD-joined devices. |
AppsDiscovery:Enabled | Boolean value Default: True False | Controls the discovery process of installed applications on host pools with FSLogix. Discovered apps can be used in Installed Apps Management to create rule set and selectively assign apps to users/groups. |
AppsDiscovery:RepeatIntervalInMinutes | Integer value Default: 180 | Controls the frequency of the background app auto-discovery service. It wakes up every X minutes to check if a new auto-discovery is necessary. |
AppsDiscovery:RepeatDiscoveryIntervalInDays | Integer value Default: 7 | Controls if a new app auto-discovery is to be performed. If the existing list of apps has been generated more than X days ago, a new discovery is performed. |
VmManagement:RetainDiskOnDelete | Boolean value Default: False True | Set to True to retain OS and data disks of VMs deleted or re-imaged. Default behavior is to clean up disks when the VM is deleted. Note: Setting this value to True increases costs for Azure managed disks. Ensure disks are properly handled to avoid unnecessary Azure expenses. |
VmManagement:AadJoin | Default: no value AfterWVD | Setting the value to AfterWVD performs the AAD join operation after the AVD agent is fully installed. Default behavior is to join AAD first and then install AVD agent at the end of sequence. This option does not affect AD Join behavior, only AAD join. |
VmManagement:VmAgentWaitingAttempts | Integer value Default: 10 | Controls whether Nerdio Manager waits for the Azure VM agent status to be ready when creating a new VM and the number of "checks" of the agent status to perform before failing the task. By default, the VM Azure agent status is checked up to 10 times at 1 minute intervals, for a total of 10 minutes. |
VmManagement:ShowCloudPCImages | Boolean value Default: False True | When set to True, all Cloud PC images from Azure Marketplace Gallery are displayed regardless if Windows 365 is enabled or not in the environment. When set to False, Cloud PC images are only displayed when Windows 365 is enabled in Nerdio Manager. |
GithubSync:Enabled | Boolean value Default: True False | Controls GitHub repository synchronization. |
GithubSync:RepeatIntervalInMinutes | Integer value Default: 60 | Repeat interval of automatic GitHub repository synchronization tasks. |
GithubSync:MaxFileSizeInBytes | Integer value Default: 1048576 | Maximum size of GitHub repository file to download. |
MaintenanceService:SkipDetailedUsageInfoSending | Boolean value Default: False True | Disables the inclusion of optional usage information when reporting details to Nerdio. This optional information helps us to improve our services for customers and we kindly request that this option is not enabled unless dictated by a specific business requirement. When enabled, this option restricts reporting to only the below items:
|
ExtendedConfigurationOptions:AllowSelfAvdWorkspaceAssigment | Boolean value Default: True False | Allows users with an AVD Admin RBAC role to unhide all AVD workspaces, even those not assigned to them. This allows all workspaces to be assigned and managed. Setting this option to False, prevents AVD Admins from unhiding workspaces that they are not assigned to by the workspace creator. |
Advisor:PersonalRightSize:BatchSize | Integer value Default: 100 | Controls the batch size for assessing VM right size operations. It is recommended to start with a value of 100 and gradually increase in 100 VM increments to a maximum of 500. |
Artifacts:Mode | String value Default: Null Local | If set to Local, this setting forces Nerdio Manager to use deployment scripts for Image and VM deployment from a local storage account with the below tag. NWM_OBJECT_TYPE=CUSTOM_SCRIPTS_STORAGE_ACCOUNT These scripts are included in the Nerdio Manager installation package from 6.2 onwards. This setting is not present by default and must be manually added if required. |
Features:ShadowSession | Boolean value Default: True False | Globally controls the availability of the 'shadow session' option. Set the value to FALSE to globally remove this option. |
Features:AvdHostEntraIdCleanup | Boolean value Default: False True | Enable this setting to allow Nerdio Manager to clean up Entra ID Intune device records during delete and rebuild operations. Ensure that the required permissions are in place as described in AVD Intune Device Record Removal. |
Features:SccmForceCreateCMSiteDrive:Enable | Boolean value Default: False True | This setting manually creates the SCCM ‘CMSiteDrive’ if not found during server discovery. This setting should be empty or False unless the error 'CMSite disk was not found' is observed when linking an SCCM server. |
VmManagement:SysprepTimeoutInMinutes | Integer value Default: 15 | This setting controls the restart delay in minutes applied to a new VM after a sysprep operation. |
Comments (0 comments)