Remote Desktop URI scheme

Applies to: Windows Server, version 1803, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2

This document defines the format of Uniform Resource Identifiers (URIs) for Remote Desktop. These URI schemes allow for Remote Desktop clients to be invoked with various commands.

ms-rd URI scheme


The ms-rd URI scheme is currently only supported with the Windows Desktop client (MSRDC).

The ms-rd URI provides the option to specify a command for the client and a set of parameters specific to the command using the following format:


Parameters uses the query string format of key=value pair separated by & to provide additional information for the given command:


Commands and parameters

Here is the list of currently supported commands and their corresponding parameters.

Using ms-rd: without any commands launches the client.


This command launches the client and starts the subscription process.

Command name: subscribe

Command parameters:

Parameter Description Values
url Specifies the Workspace URL. A valid URL, such as

Example: ms-rd:subscribe?url=

Legacy rdp URI scheme


The following URI scheme is only supported with the clients for macOS, iOS, and Android devices. It is being replaced by the new ms-rd URI above.

Microsoft Remote Desktop uses the URI scheme rdp://query_string to store preconfigured attribute settings that are used when launching the client. The query strings represent a single or set of RDP attributes provided in the URL.

The RDP attributes are separated by the ampersand symbol (&). For example, when connecting to a PC, the string is:


This table gives a complete list of supported attributes that may be used with the iOS, Mac, and Android Remote Desktop clients. (An "x" in the platform column indicates the attribute is supported. The values denoted by chevrons (<>) represent the values that are supported by the Remote Desktop clients.)

RDP attribute Android Mac iOS
allow desktop composition=i:<0 or 1> x x x
allow font smoothing=i:<0 or 1> x x x
alternate shell=s:<string> x x x
audiomode=i:<0, 1, or 2> x x x
authentication level=i:<0 or 1> x x x
connect to console=i:<0 or 1> x x x
disable cursor settings=i:<0 or 1> x x x
disable full window drag=i:<0 or 1> x x x
disable menu anims=i:<0 or 1> x x x
disable themes=i:<0 or 1> x x x
disable wallpaper=i:<0 or 1> x x x
drivestoredirect=s:* (this is the only supported value) x x
desktopheight=i:<value in pixels> x
desktopwidth=i:<value in pixels> x
domain=s:<string> x x x
full address=s:<string> x x x
gatewayhostname=s:<string> x x x
gatewayusagemethod=i:<1 or 2> x x x
prompt for credentials on client=i:<0 or 1> x
loadbalanceinfo=s:<string> x x x
redirectprinters=i:<0 or 1> x
remoteapplicationcmdline=s:<string> x x x
remoteapplicationmode=i:<0 or 1> x x x
remoteapplicationprogram=s:<string> x x x
shell working directory=s:<string> x x x
Use redirection server name=i:<0 or 1> x x x
username=s:<string> x x x
screen mode id=i:<1 or 2> x
session bpp=i:<8, 15, 16, 24, or 32> x
use multimon=i:<0 or 1> x