Supported RDP properties with Azure Virtual Desktop

Organizations can configure Remote Desktop Protocol (RDP) properties centrally in Azure Virtual Desktop to determine how a connection to Azure Virtual Desktop should behave. There are a wide range of RDP properties that can be set, such as for device redirection, display settings, session behavior, and more. For more information, see Customize RDP properties for a host pool.

Note

Supported RDP properties differ when using Azure Virtual Desktop compared to Remote Desktop Services. Use the following tables to understand each setting and whether it applies when connecting to Azure Virtual Desktop, Remote Desktop Services, or both.

Connection information

Display name RDP property Azure Virtual Desktop Remote Desktop Services Description Values Default value
Microsoft Entra single sign-on enablerdsaadauth:i:*value* Determines whether the client will use Microsoft Entra ID to authenticate to the remote PC. In Azure Virtual Desktop, this provides a single sign-on experience.

This property replaces the property targetisaadjoined.
0: Connections won't use Microsoft Entra authentication, even if the remote PC supports it.

1: Connections will use Microsoft Entra authentication if the remote PC supports it.
0
Connect to Microsoft Entra joined host targetisaadjoined:i:*value* Allows connections to Microsoft Entra joined session hosts using username and password.

Note: only applicable to non-Windows clients and local Windows devices that aren't joined to Microsoft Entra.

This property is being replaced by the property enablerdsaadauth.
0: Connections to Microsoft Entra joined session hosts will succeed for Windows devices that meet the requirements, but other connections will fail.

1: Connections to Microsoft Entra joined hosts will succeed but are restricted to entering user name and password credentials when connecting to session hosts.
0
Credential Security Support Provider enablecredsspsupport:i:*value* Determines whether the client will use the Credential Security Support Provider (CredSSP) for authentication if it's available. 0: RDP won't use CredSSP, even if the operating system supports CredSSP.

1: RDP will use CredSSP if the operating system supports CredSSP.
1
Alternate shell alternate shell:s:*value* Specifies a program to be started automatically in the remote session as the shell instead of explorer. A valid path to an executable file, such as C:\Program Files\MyApp\myapp.exe. None
KDC proxy name kdcproxyname:s:*value* Specifies the fully qualified domain name of a KDC proxy. A valid path to a KDC proxy server, such as kdc.contoso.com. None
Address full address:s:value This setting specifies the hostname or IP address of the remote computer that you want to connect to.

This is the only required setting in an RDP file.
A valid name, IPv4 address, or IPv6 address. None
Alternate address alternate full address:s:value Specifies an alternate name or IP address of the remote computer. A valid name, IPv4 address, or IPv6 address. None
Username username:s:value Specifies the name of the user account that will be used to sign in to the remote computer. Any valid username. None
Domain domain:s:value Specifies the name of the domain in which the user account that will be used to sign in to the remote computer is located. A valid domain name, such as CONTOSO. None
RD Gateway hostname gatewayhostname:s:value Specifies the RD Gateway host name. A valid name, IPv4 address, or IPv6 address. None
RD Gateway authentication gatewaycredentialssource:i:value Specifies the RD Gateway authentication method. 0: Ask for password (NTLM).

1: Use smart card.

2: Use the credentials for the currently signed in user.

3: Prompt the user for their credentials and use basic authentication.

4: Allow user to select later.

5: Use cookie-based authentication.
0
RD Gateway profile gatewayprofileusagemethod:i:value Specifies whether to use default RD Gateway settings. 0: Use the default profile mode, as specified by the administrator.

1: Use explicit settings, as specified by the user.
0
Use RD Gateway gatewayusagemethod:i:value Specifies when to use an RD Gateway for the connection. 0: Don't use an RD Gateway.

1: Always use an RD Gateway.

2: Use an RD Gateway if a direct connection can't be made to the RD Session Host.

3: Use the default RD Gateway settings.

4: Don't use an RD Gateway, bypass gateway for local addresses.

Setting this property value to 0 or 4 are effectively equivalent, but 4 enables the option to bypass local addresses.
0
Save credentials promptcredentialonce:i:value Determines whether a user's credentials are saved and used for both the RD Gateway and the remote computer. 0: Remote session won't use the same credentials.

1: Remote session will use the same credentials.
1
Server authentication authentication level:i:value Defines the server authentication level settings. 0: If server authentication fails, connect to the computer without warning.

1: If server authentication fails, don't establish a connection.

2: If server authentication fails, show a warning, and choose to connect or refuse the connection.

3: No authentication requirement specified.
3
Connection sharing disableconnectionsharing:i:value Determines whether the client reconnects to any existing disconnected session or initiate a new connection when a new connection is launched. 0: Reconnect to any existing session.

1: Initiate new connection.
0

Session behavior

Display name RDP property Azure Virtual Desktop Remote Desktop Services Description Values Default value
Reconnection autoreconnection enabled:i:*value* Determines whether the client will automatically try to reconnect to the remote computer if the connection is dropped, such as when there's a network connectivity interruption. 0: Client doesn't automatically try to reconnect.

1: Client automatically tries to reconnect.
1
Bandwidth auto detect bandwidthautodetect:i:*value* Determines whether or not to use automatic network bandwidth detection. Requires bandwidthautodetect to be set to 1. 0: Don't use automatic network bandwidth detection.

1: Use automatic network bandwidth detection.
1
Network auto detect networkautodetect:i:*value* Determines whether automatic network type detection is enabled. 0: Disable automatic network type detection.

1: Enable automatic network type detection.
1
Compression compression:i:*value* Determines whether bulk compression is enabled when it's transmitted by RDP to the local computer. 0: Disable RDP bulk compression.

1: Enable RDP bulk compression.
1
Video playback videoplaybackmode:i:*value* Determines if the connection will use RDP-efficient multimedia streaming for video playback. 0: Don't use RDP efficient multimedia streaming for video playback.

1: Use RDP-efficient multimedia streaming for video playback when possible.
1

Device redirection

Important

You can only enable redirections with binary settings that apply to both to and from the remote machine. The service doesn't currently support one-way blocking of redirections from only one side of the connection.

Display name RDP property Azure Virtual Desktop Remote Desktop Services Description Values Default value
Microphone redirection audiocapturemode:i:*value* Indicates whether audio input redirection is enabled. 0: Disable audio capture from the local device.

1: Enable audio capture from the local device and redirection to an audio application in the remote session.
0
Redirect video encoding encode redirected video capture:i:*value* Enables or disables encoding of redirected video. 0: Disable encoding of redirected video.

1: Enable encoding of redirected video.
1
Encoded video quality redirected video capture encoding quality:i:*value* Controls the quality of encoded video. 0: High compression video. Quality may suffer when there's a lot of motion.

1: Medium compression.

2: Low compression video with high picture quality.
0
Audio output location audiomode:i:*value* Determines whether the local or remote machine plays audio. 0: Play sounds on the local computer.

1: Play sounds on the remote computer.

2: Don't play sounds.
0
Camera redirection camerastoredirect:s:*value* Configures which cameras to redirect. This setting uses a semicolon-delimited list of KSCATEGORY_VIDEO_CAMERA interfaces of cameras enabled for redirection. *: Redirect all cameras.

Specify a list of cameras, such as \\?\usb#vid_0bda&pid_58b0&mi.

You can exclude a specific camera by prepending the symbolic link string with -.
Don't redirect any cameras.
Media Transfer Protocol (MTP) and Picture Transfer Protocol (PTP) devicestoredirect:s:*value* Determines which devices on the local computer will be redirected and available in the remote session. *: Redirect all supported devices, including ones that are connected later.

Valid hardware ID for one or more devices, such as \\?\usb#vid_0bda&pid_58b0&mi.

DynamicDevices: Redirect all supported devices that are connected later.
*
Drive/storage redirection drivestoredirect:s:*value* Determines which disk drives on the local computer will be redirected and available in the remote session. No value specified: don't redirect any drives.

*: Redirect all disk drives, including drives that are connected later.

DynamicDrives: redirect any drives that are connected later.

The drive and labels for one or more drives, such as drivestoredirect:s:C\:;E\:;, redirect the specified drive(s).
*
Windows key combinations keyboardhook:i:*value* Determines when Windows key combinations (Windows, Alt+Tab) are applied to the remote session for desktop and RemoteApp connections. 0: Windows key combinations are applied on the local computer.

1: (Desktop only) Windows key combinations are applied on the remote computer when in focus.

2: (Desktop only) Windows key combinations are applied on the remote computer in full screen mode only.

3: (RemoteApp only) Windows key combinations are applied on the RemoteApp when in focus. We recommend you use this value only when publishing the Remote Desktop Connection app (mstsc.exe) from the host pool on Azure Virtual Desktop. This value is only supported when using the Windows client.
2
Clipboard redirection redirectclipboard:i:*value* Determines whether clipboard redirection is enabled. 0: Clipboard on local computer isn't available in remote session.

1: Clipboard on local computer is available in remote session.
1
COM ports redirection redirectcomports:i:*value* Determines whether COM (serial) ports on the local computer will be redirected and available in the remote session. 0: COM ports on the local computer aren't available in the remote session.

1: COM ports on the local computer are available in the remote session.
1
Location service redirection redirectlocation:i:*value* Determines whether the location of the local device will be redirected and available in the remote session. 0: The remote session uses the location of the remote computer or virtual machine.

1: The remote session uses the location of the local device.
0
Printer redirection redirectprinters:i:*value* Determines whether printers configured on the local computer will be redirected and available in the remote session. 0: The printers on the local computer aren't available in the remote session.

1: The printers on the local computer are available in the remote session.
1
Smart card redirection redirectsmartcards:i:*value* Determines whether smart card devices on the local computer will be redirected and available in the remote session. 0: The smart card device on the local computer isn't available in the remote session.

1: The smart card device on the local computer is available in the remote session.
1
WebAuthn redirection redirectwebauthn:i:*value* Determines whether WebAuthn requests on the remote computer will be redirected to the local computer allowing the use of local authenticators (such as Windows Hello for Business and security key). 0: WebAuthn requests from the remote session aren't sent to the local computer for authentication and must be completed in the remote session.

1: WebAuthn requests from the remote session are sent to the local computer for authentication.
1
USB device redirection usbdevicestoredirect:s:*value* Determines which supported RemoteFX USB devices on the client computer will be redirected and available in the remote session when you connect to a remote session that supports RemoteFX USB redirection. *: Redirect all USB devices that aren't already redirected by another high-level redirection.

{*Device Setup Class GUID*}: Redirect all devices that are members of the specified device setup class.

*USBInstanceID*: Redirect a specific USB device identified by the instance ID.
*

Display settings

Display name RDP property Azure Virtual Desktop Remote Desktop Services Description Values Default value
Multiple displays use multimon:i:*value* Determines whether the remote session will use one or multiple displays from the local computer. 0: Don't enable multiple display support.

1: Enable multiple display support.
1
Selected monitors selectedmonitors:s:*value* Specifies which local displays to use from the remote session. The selected displays must be contiguous. Requires use multimon to be set to 1.

Only available on the Windows Inbox (MSTSC) and Windows Desktop (MSRDC) clients.
Comma separated list of machine-specific display IDs. You can retrieve IDs by calling mstsc.exe /l. The first ID listed will be set as the primary display in the session. All displays.
Maximize to current displays maximizetocurrentdisplays:i:*value* Determines which display the remote session goes full screen on when maximizing. Requires use multimon to be set to 1.

Only available on the Windows Desktop (MSRDC) client.
0: Session goes full screen on the displays initially selected when maximizing.

1: Session dynamically goes full screen on the displays touched by the session window when maximizing.
0
Multi to single display switch singlemoninwindowedmode:i:*value* Determines whether a multi display remote session automatically switches to single display when exiting full screen. Requires use multimon to be set to 1.

Only available on the Windows Desktop (MSRDC) client.
0: Session retains all displays when exiting full screen.

1: Session switches to single display when exiting full screen.
0
Screen mode screen mode id:i:*value* Determines whether the remote session window appears full screen when you launch the connection. 1: The remote session will appear in a window.

2: The remote session will appear full screen.
2
Smart sizing smart sizing:i:*value* Determines whether or not the local computer scales the content of the remote session to fit the window size. 0: The local window content won't scale when resized.

1: The local window content will scale when resized.
0
Dynamic resolution dynamic resolution:i:*value* Determines whether the resolution of the remote session is automatically updated when the local window is resized. 0: Session resolution remains static during the session.

1: Session resolution updates as the local window resizes.
1
Desktop size desktop size id:i:*value* Specifies the dimensions of the remote session desktop from a set of predefined options. This setting is overridden if desktopheight and desktopwidth are specified. 0: 640×480

1: 800×600

2: 1024×768

3: 1280×1024

4: 1600×1200
Match the local computer.
Desktop height desktopheight:i:*value* Specifies the resolution height (in pixels) of the remote session. Numerical value between 200 and 8192. Match the local computer.
Desktop width desktopwidth:i:*value* Specifies the resolution width (in pixels) of the remote session. Numerical value between 200 and 8192. Match the local computer.
Desktop scale factor desktopscalefactor:i:*value* Specifies the scale factor of the remote session to make the content appear larger. Numerical value from the following list:
100
125
150
175
200
250
300
400
500.
Match the local computer.

RemoteApp

Display name RDP property Azure Virtual Desktop Remote Desktop Services Description Values Default value
Command-line parameters remoteapplicationcmdline:s:value Optional command-line parameters for the RemoteApp. Valid command-line parameters. N/A
Command-line variables remoteapplicationexpandcmdline:i:value Determines whether environment variables contained in the RemoteApp command-line parameter should be expanded locally or remotely. 0: Environment variables should be expanded to the values of the local computer.

1: Environment variables should be expanded to the values of the remote computer.
1
Working directory variables remoteapplicationexpandworkingdir:i:value Determines whether environment variables contained in the RemoteApp working directory parameter should be expanded locally or remotely. 0: Environment variables should be expanded to the values of the local computer.

1: Environment variables should be expanded to the values of the remote computer.

The RemoteApp working directory is specified through the shell working directory parameter.
1
Open file remoteapplicationfile:s:value Specifies a file to be opened on the remote computer by the RemoteApp.

For local files to be opened, you must also enable drive redirection for the source drive.
Valid file path. N/A
Icon file remoteapplicationicon:s:value Specifies the icon file to be displayed in the client UI while launching a RemoteApp. If no file name is specified, the client will use the standard Remote Desktop icon. Only .ico files are supported. Valid file path. N/A
Application mode remoteapplicationmode:i:value Determines whether a connection is launched as a RemoteApp session. 0: Don't launch a RemoteApp session.

1: Launch a RemoteApp session.
1
Application display name remoteapplicationname:s:value Specifies the name of the RemoteApp in the client interface while starting the RemoteApp. App display name. For example, Excel 2016. N/A
Alias/executable name remoteapplicationprogram:s:value Specifies the alias or executable name of the RemoteApp. Valid alias or name. For example, EXCEL. N/A