可以自定义主机池的远程桌面协议 (RDP) 属性(例如多监视器体验和音频重定向),以便根据用户的需要为用户提供最佳体验。 如果你想要更改默认的 RDP 文件属性,可以通过使用 Azure 门户或在 Update-AzWvdHostPool cmdlet 中使用 -CustomRdpProperty 参数,在 Azure 虚拟桌面中自定义 RDP 属性。本文将介绍如何默认RDP属性以及使用Azure门户自定也会话主机池RDP属性。
一、默认 RDP 文件属性
RDP 文件默认具有以下属性:
RDP 属性 | 对于桌面和 RemoteApp |
多监视器模式 | 已启用 |
已启用重定向 | 驱动器、剪贴板、打印机、COM 端口、智能卡、设备、USB 设备存储和 WebAuthn |
远程音频模式 | 本地播放 |
VideoPlayback | 已启用 |
EnableCredssp | 已启用 |
二、使用 Azure 门户配置 RDP 属性
- 登录 Azure 门户。
- 在搜索栏中输入“Azure 虚拟桌面”。
- 在“服务”下,选择“Azure 虚拟桌面”。
- 在“Azure 虚拟桌面”页上,在屏幕左侧的菜单中,选择“主机池”。
- 选择要更新的主机池的名称。
- 在屏幕左侧的菜单中选择“RDP 属性”。
- 设置所需的属性。
在RDP属性中点击高级选项卡,在RDP属性框中输入要添加的RDP属性值
- 完成后,选择“保存”以保存更改。
注意各个属性值以英文逗号; 隔开,格式为 rdp属性:i:value;
三、支持的RDP 属性
(一)连接信息
显示名称 | RDP 属性 | Azure 虚拟桌面 | 远程桌面服务 | 说明 | 值 | 默认值 |
Azure AD 身份验证 | enablerdsaadauth:i:value | ✔ | ✔ | 确定客户端是否将使用 Azure AD 向远程电脑进行身份验证(如果可用)。 注意:目前仅提供适用于 Windows 和 Web 客户端的预览版。 这将替换属性 targetisaadjoined。 | - 0:即使远程电脑支持 Azure AD 身份验证,RDP 也不会使用该身份验证。 - 1:如果远程电脑支持 Azure AD 身份验证,RDP 将使用该身份验证。 | 0 |
Azure AD 身份验证 | targetisaadjoined:i:value | ✔ | ✗ | 允许使用用户名和密码连接到已加入 Azure AD 的会话主机。 注意:仅适用于未加入 Azure AD 的非 Windows 客户端和本地 Windows 设备。 | - 0:满足要求的 Windows 设备可以成功连接到已加入 Azure AD 的会话主机,但其他连接将失败。 - 1:可以成功连接到已加入 Azure AD 的主机,但在连接到会话主机时只能输入用户名和密码凭据。 | 0 |
凭据安全支持提供程序 | enablecredsspsupport:i:value | ✔ | ✔ | 确定客户端是否会在凭据安全支持提供程序 (CredSSP) 可用的情况下使用它来进行身份验证。 | - 0:即使操作系统支持 CredSSP,RDP 也不会使用 CredSSP。 - 1:如果操作系统支持 CredSSP,则 RDP 将使用 CredSSP。 | 1 |
可选的 shell | alternate shell:s:value | ✔ | ✔ | 指定要在远程会话中作为 shell(而不是资源管理器)自动启动的程序。 | 可执行文件的有效路径,例如 C:\ProgramFiles\Office\word.exe。 | 无 |
KDC 代理名称 | kdcproxyname:s:value | ✔ | ✗ | 指定 KDC 代理的完全限定的域名。 | KDC 代理服务器的有效路径,例如 kdc.contoso.com。 | 无 |
地址 | full address:s:value | ✗ | ✔ | 此设置指定要连接到的远程计算机的主机名或 IP 地址。 这是 RDP 文件中唯一需要的设置。 | 有效的名称、IPv4 地址或 IPv6 地址。 | 无 |
备用地址 | alternate full address:s:value | ✗ | ✔ | 指定远程计算机的备用名称或 IP 地址。 | 有效的名称、IPv4 地址或 IPv6 地址。 | 无 |
用户名 | username:s:value | ✗ | ✔ | 指定用于登录远程计算机的用户帐户的名称。 | 任何有效的用户名。 | 无 |
域 | domain:s:value | ✗ | ✔ | 指定用于登录远程计算机的用户帐户所在域的名称。 | 有效的域名,如“CONTOSO”。 | 无 |
RD 网关主机名 | gatewayhostname:s:value | ✗ | ✔ | 指定 RD 网关主机名。 | 有效的名称、IPv4 地址或 IPv6 地址。 | 无 |
RD 网关身份验证 | gatewaycredentialssource:i:value | ✗ | ✔ | 指定 RD 网关身份验证方法。 | - 0:询问密码 (NTLM)。 - 1:使用智能卡。 - 2:使用当前已登录的用户的凭据。 - 3:提示用户输入其凭据并使用基本身份验证。 - 4:允许用户稍后选择。 - 5:使用基于 Cookie 的身份验证。 | 0 |
RD 网关配置文件 | gatewayprofileusagemethod:i:value | ✗ | ✔ | 指定是否使用默认 RD 网关设置。 | - 0:使用管理员指定的默认配置文件模式。 - 1:使用用户指定的显式设置。 | 0 |
使用 RD 网关 | gatewayusagemethod:i:value | ✗ | ✔ | 指定何时将 RD 网关用于连接。 | - 0:不使用 RD 网关。 - 1:始终使用 RD 网关。 - 2:在无法与 RD 会话主机建立直接连接的情况下使用 RD 网关。 - 3:使用默认 RD 网关设置。 - 4:不使用 RD 网关,绕过本地地址的网关。 将此属性值设置为 0 或 4 实际上是等效的,但将此属性设置为 4 会启用绕过本地地址的选项。 | 0 |
保存凭据 | promptcredentialonce:i:value | ✗ | ✔ | 确定是否保存用户的凭据并将其用于 RD 网关和远程计算机。 | - 0:远程会话不使用相同的凭据。 - 1:远程会话将使用相同的凭据。 | 1 |
服务器身份验证 | authentication level:i:value | ✗ | ✔ | 定义服务器身份验证级别设置。 | - 0:如果服务器身份验证失败,在不显示警告的情况下连接到计算机。 - 1:如果服务器身份验证失败,不要建立连接。 - 2:如果服务器身份验证失败,显示警告并选择进行连接或拒绝连接。 - 3:未指定身份验证要求。 | 3 |
连接共享 | disableconnectionsharing:i:value | ✗ | ✔ | 确定客户端在新连接启动时是重新连接到任何已断开连接的现有会话,还是启动新连接。 | - 0:重新连接到任何现有会话。 - 1:启动新连接。 | 0 |
(二)会话行为
显示名称 | RDP 属性 | Azure 虚拟桌面 | 远程桌面服务 | 说明 | 值 | 默认值 |
重新连接 | autoreconnection enabled:i:value | ✔ | ✔ | 确定客户端是否会在连接断开时(例如,当网络连接中断时)自动尝试重新连接到远程计算机。 | - 0:客户端不会自动尝试重新连接。 - 1:客户端自动尝试重新连接。 | 1 |
带宽自动检测 | bandwidthautodetect:i:value | ✔ | ✔ | 确定是否使用自动网络带宽检测。 需要将 bandwidthautodetect 设置为 1。 | - 0:禁用自动网络类型检测。 - 1:启用自动网络类型检测。 | 1 |
网络自动检测 | networkautodetect:i:value | ✔ | ✔ | 确定是否启用了自动网络类型检测。 | - 0:不使用自动网络带宽检测。 - 1:使用自动网络带宽检测。 | 1 |
压缩 | compression:i:value | ✔ | ✔ | 确定在通过 RDP 传输到本地计算机时是否启用批量压缩。 | - 0:禁用 RDP 批量压缩。 - 1:启用 RDP 批量压缩。 | 1 |
视频播放 | videoplaybackmode:i:value | ✔ | ✔ | 确定连接是否会使用 RDP 高效多媒体流式处理进行视频播放。 | - 0:不使用 RDP 高效多媒体流进行视频播放。 - 1:尽可能使用 RDP 高效多媒体流进行视频播放。 | 1 |
(三)设备重定向
显示名称 | RDP 属性 | Azure 虚拟桌面 | 远程桌面服务 | 说明 | 值 | 默认值 |
麦克风重定向 | audiocapturemode:i:value | ✔ | ✔ | 指明是否已启用音频输入重定向。 | - 0:禁用本地设备的音频捕获。 - 1:启用本地设备的音频捕获并重定向到远程会话中的音频应用程序。 | 0 |
重定向视频编码 | encode redirected video capture:i:value | ✔ | ✔ | 启用或禁用已重定向视频的编码。 | - 0:禁用已重定向视频的编码。 - 1:启用已重定向视频的编码。 | 1 |
已编码视频的质量 | redirected video capture encoding quality:i:value | ✔ | ✔ | 控制已编码视频的质量。 | - 0:高压缩视频。 当有大量的运动时,质量可能会受到影响。 - 1:中等压缩。 - 2:低压缩视频,图片质量高。 | 0 |
音频输出位置 | audiomode:i:value | ✔ | ✔ | 确定本地或远程计算机是否播放音频。 | - 0:在本地计算机上播放声音。 - 1:在远程计算机上播放声音。 - 2:不播放声音。 | 0 |
相机重定向 | camerastoredirect:s:value | ✔ | ✔ | 配置要重定向哪些摄像头。 此设置使用分号分隔的列表,其中包含支持重定向的相机的 KSCATEGORY_VIDEO_CAMERA 接口。 | - *:重定向所有相机。 - 相机列表,例如 \\?\usb#vid_0bda&pid_58b0&mi。 - 可通过在符号链接字符串前面加上“-”来排除特定相机。 | 不重定向任何相机。 |
媒体传输协议 (MTP) 和图片传输协议 (PTP) | devicestoredirect:s:value | ✔ | ✔ | 确定本地计算机上将被重定向并在远程会话中可用的设备。 | - *:重定向所有受支持的设备,包括稍后连接的设备。 - 一台或多台设备的有效硬件 ID。 - DynamicDevices:重定向稍后将连接的所有受支持的设备。 | 不重定向任何设备。 |
驱动器/存储重定向 | drivestoredirect:s:value | ✔ | ✔ | 确定本地计算机上将被重定向并在远程会话中可用的磁盘驱动器。 | - 未指定值:不重定向任何驱动器。 - *:重定向所有磁盘驱动器,包括稍后连接的驱动器。 - DynamicDrives:重定向稍后连接的所有驱动器。 - 驱动器以及一个或多个驱动器的标签,例如 drivestoredirect:s:C\:;E\:;,重定向指定的驱动器。 | 不重定向任何驱动器。 |
Windows 组合键 | keyboardhook:i:value | ✔ | ✔ | 确定何时将 Windows 组合键(Windows、Alt+Tab)应用到桌面和 RemoteApp 连接的远程会话。 | - 0:在本地计算机上应用 Windows 组合键。 - 1:(仅限桌面)处于焦点时,在远程计算机上应用 Windows 组合键。 - 2:(仅限桌面)仅在全屏模式下,在远程计算机上应用 Windows 组合键。 - 3:(仅限 RemoteApp)处于焦点时,在 RemoteApp 上应用 Windows 组合键。 建议仅在通过 Azure 虚拟桌面上的主机池发布远程桌面连接应用 (mstsc.exe) 时使用此值。 仅支持在使用 Windows 客户端时使用此值。 | 2 |
剪贴板重定向 | redirectclipboard:i:value | ✔ | ✔ | 确定是否已启用剪贴板重定向。 | - 0:本地计算机上的剪贴板在远程会话中不可用。 - 1:本地计算机上的剪贴板在远程会话中可用。 | 1 |
COM 端口重定向 | redirectcomports:i:value | ✔ | ✔ | 确定本地计算机上的 COM(串行)端口是否会被重定向并在远程会话中可用。 | - 0:本地计算机上的 COM 端口在远程会话中不可用。 - 1:本地计算机上的 COM 端口在远程会话中可用。 | 0 |
位置服务重定向 | redirectlocation:i:value | ✔ | ✔ | 确定本地设备的位置是否会被重定向并在远程会话中可用。 | - 0:远程会话使用远程计算机或虚拟机的位置。 - 1:远程会话使用本地设备的位置。 | 0 |
打印机重定向 | redirectprinters:i:value | ✔ | ✔ | 确定本地计算机上配置的打印机是否会被重定向并在远程会话中可用。 | - 0:本地计算机上的打印机在远程会话中不可用。 - 1:本地计算机上的打印机在远程会话中可用。 | 1 |
智能卡重定向 | redirectsmartcards:i:value | ✔ | ✔ | 确定本地计算机上的智能卡设备是否会被重定向并在远程会话中可用。 | - 0:本地计算机上的智能卡设备在远程会话中不可用。 - 1:本地计算机上的智能卡设备在远程会话中可用。 | 1 |
WebAuthn 重定向 | redirectwebauthn:i:value | ✔ | ✔ | 确定远程计算机上的 WebAuthn 请求是否将被重定向到允许使用本地身份验证器(例如 Windows Hello for Business 和安全密钥)的本地计算机。 | - 0:来自远程会话的 WebAuthn 请求不会发送到本地计算机进行身份验证,必须在远程会话中完成。 - 1:来自远程会话的 WebAuthn 请求将被发送到本地计算机进行身份验证。 | 1 |
USB 设备重定向 | usbdevicestoredirect:s:value | ✔ | ✔ | 确定在你连接到支持 RemoteFX USB 重定向的远程会话时,客户端计算机上哪些受支持的 RemoteFX USB 设备将被重定向并在远程会话中可用。 | - *:重定向还没有被另一个高级重定向重定向的所有 USB 设备。 - {设备设置类 GUID}:重定向属于指定的设备设置类的所有设备。 - USBInstanceID:重定向由实例 ID 标识的特定 USB 设备。 | 不重定向任何 USB 设备。 |
(四)显示设置
显示名称 | RDP 属性 | Azure 虚拟桌面 | 远程桌面服务 | 说明 | 值 | 默认值 |
多个显示器 | use multimon:i:value | ✔ | ✔ | 确定远程会话是否会使用本地计算机中的一个或多个显示。 | - 0:不启用多显示支持。 - 1:启用多显示支持。 | 0 |
已选择监视器 | selectedmonitors:s:value | ✔ | ✔ | 指定要在远程会话中使用的本地显示。 所选的显示必须是连续的。 需要将 use multimon 设置为 1。 只适用于 Windows 收件箱 (MSTSC) 和 Windows 桌面 (MSRDC) 客户端。 | 计算机特定的显示 ID 的列表(用逗号分隔)。 可以通过调用 mstsc.exe /l 来检索 ID。 列出的第一个 ID 将被设置为会话中的主显示。 | 所有显示器。 |
最大化到当前显示器 | maximizetocurrentdisplays:i:value | ✔ | ✔ | 确定远程会话在最大化时在哪个显示中进入全屏。 需要将 use multimon 设置为 1。 只适用于 Windows 桌面 (MSRDC) 客户端。 | - 0:会话在最大化时在最初选择的显示器上全屏显示。 - 1:会话在最大化时在会话窗口所触及的显示器上动态地全屏显示。 | 0 |
从多显示切换到单显示 | singlemoninwindowedmode:i:value | ✔ | ✔ | 确定多显示远程会话在退出全屏时是否自动切换为单个显示。 需要将 use multimon 设置为 1。 只适用于 Windows 桌面 (MSRDC) 客户端。 | - 0:会话在退出全屏时保留所有显示。 - 1:会话在退出全屏时切换为单显示。 | 0 |
屏幕模式 | screen mode id:i:value | ✔ | ✔ | 确定远程会话窗口是否在你启动连接时全屏显示。 | - 1:远程会话将显示为窗口模式。 - 2:远程会话将显示为全屏模式。 | 2 |
智能调整大小 | smart sizing:i:value | ✔ | ✔ | 确定本地计算机是否缩放远程会话的内容来适应窗口大小。 | - 0:本地窗口内容在调整大小时不缩放。 - 1:本地窗口内容在调整大小时缩放。 | 0 |
动态分辨率 | dynamic resolution:i:value | ✔ | ✔ | 确定在调整本地窗口大小时是否自动更新远程会话的分辨率。 | - 0:会话分辨率在会话期间保持不变。 - 1:在调整本地窗口大小时,会话分辨率随之更新。 | 1 |
桌面大小 | desktop size id:i:value | ✔ | ✔ | 从一组预定义的选项中指定远程会话桌面的尺寸。 如果指定了 desktopheight 和 desktopwidth,则会替代此设置。 | - 0:640×480 - 1:800 × 600 - 2:1024 × 768 - 3:1280 × 1024 - 4:1600 × 1200 | 匹配本地计算机。 |
桌面高度 | desktopheight:i:value | ✔ | ✔ | 指定远程会话的分辨率高度(以像素为单位)。 | 介于 200 和 8192 之间的数值。 | 匹配本地计算机。 |
桌面宽度 | desktopwidth:i:value | ✔ | ✔ | 指定远程会话的分辨率宽度(以像素为单位)。 | 介于 200 和 8192 之间的数值。 | 匹配本地计算机。 |
桌面比例因子 | desktopscalefactor:i:value | ✔ | ✔ | 指定远程会话的比例因子,让内容看起来更大。 | 以下列表中的数值: - 100 - 125 - 150 - 175 - 200 - 250 - 300 - 400 - 500。 | 匹配本地计算机。 |
(五)RemoteApp
显示名称 | RDP 属性 | Azure 虚拟桌面 | 远程桌面服务 | 说明 | 值 | 默认值 |
命令行参数 | remoteapplicationcmdline:s:value | ✗ | ✔ | RemoteApp 的可选命令行参数。 | 有效的命令行参数。 | 空值 |
命令行变量 | remoteapplicationexpandcmdline:i:value | ✗ | ✔ | 确定 RemoteApp 命令行参数中包含的环境变量应该在本地扩展还是远程扩展。 | - 0:应将环境变量扩展为本地计算机的值。 - 1:应将环境变量扩展为远程计算机的值。 | 1 |
工作目录变量 | remoteapplicationexpandworkingdir:i:value | ✗ | ✔ | 确定 RemoteApp 工作目录参数中包含的环境变量应该在本地扩展还是远程扩展。 | - 0:应将环境变量扩展为本地计算机的值。 - 1:应将环境变量扩展为远程计算机的值。 RemoteApp 工作目录通过 shell 工作目录参数指定。 | 1 |
打开文件 | remoteapplicationfile:s:value | ✗ | ✔ | 指定 RemoteApp 要在远程计算机上打开的文件。 若要打开本地文件,还必须为源驱动器启用驱动器重定向。 | 有效文件路径。 | 空值 |
图标文件 | remoteapplicationicon:s:value | ✗ | ✔ | 指定在启动 RemoteApp 时要在客户端 UI 中显示的图标文件。 如果未指定文件名,则客户端将使用标准远程桌面图标。 仅支持 | 有效文件路径。 | 空值 |
应用程序模式 | remoteapplicationmode:i:value | ✗ | ✔ | 确定是否将连接作为 RemoteApp 会话启动。 | - 0:不启动 RemoteApp 会话。 - 1:启动 RemoteApp 会话。 | 1 |
应用程序显示名称 | remoteapplicationname:s:value | ✗ | ✔ | 指定启动 RemoteApp 时客户端界面中的 RemoteApp 名称。 | 应用显示名称。 例如 Excel 2016。 | 空值 |
别名/可执行文件名称 | remoteapplicationprogram:s:value | ✗ | ✔ | 指定 RemoteApp 的别名或可执行文件名称。 | 有效的别名或名称。 例如 EXCEL。 | 空值 |