配置 Windows 10/11 上托管的 RemoteApps(无 Windows Server)
如果您使用远程计算机在 RDP 会话中运行一两个应用程序,您可能会发现在 RDP 会话中运行这些程序更方便。远程应用程序模式。 RemoteApp 技术是 Windows Server 上远程桌面服务角色的功能之一,它允许您运行安装在远程 RDS (RDP) 服务器上的应用程序,就像它们在客户端本地运行一样。这意味着远程Windows主机的整个桌面不会传送到客户端的显示器上;仅显示已发布应用程序的窗口。
虽然 RemoteApps 仅在具有 RDS 角色的 Windows Server 上得到正式支持,但您仍然可以在 Windows 桌面版本(例如 10 或 11)上将任何已安装的程序配置为 RemoteApp 并运行。本文介绍了如何在 Windows 11 设备上创建、管理和运行 RemoteApps(需要专业版或企业版)。
第一步是配置远程计算机(RDP 服务器)运行 RemoteApp 工作负载:
- 在 Windows 上启用远程桌面协议
- 安装您要使用的应用程序
- 将允许使用该应用程序的用户添加到本地
Remote Desktop Users组或本地策略允许通过远程桌面服务登录 - 允许任何本地程序作为 RemoteApp 运行。打开本地组策略编辑器(
gpedit.msc),转到计算机配置 -> 管理模板 -> Windows 组件 -> 远程桌面服务 -> 远程桌面会话主机 -> 连接。启用策略允许远程启动未列出的程序
或者,创建一个注册表参数f允许未列出的远程程序值为1:
reg add "HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows NTTerminal Services" /v fAllowUnlistedRemotePrograms /t REG_DWORD /d 1


- 重新启动远程计算机。
如果要限制远程用户可以作为 RemoteApp 运行的本地应用程序列表,请在下面创建一个单独的注册表项HKLMSOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowListApplications对于每个应用程序。
用于在工作组环境中的 RDS 上将 Acrobat Reader 作为 RemoteApp 发布的示例 REG 文件:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionTerminal ServerTSAppAllowListApplicationsMyAdobeReaderApp] "CommandLineSetting"=dword:00000000 "RequiredCommandLine"="" "Name"="Adobe Reader" "Path"="C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe" "ShortPath"="C:\PROGRA~1\Adobe\Acrobat DC\Acrobat\Acrobat.exe" "IconPath"="C:\PROGRA~1\Adobe\Acrobat DC\Acrobat\Acrobat.exe" "IconIndex"=dword:00000000 "ShowInTSWA"=dword:00000001 "SecurityDescriptor"="
RDP 客户端设置。
现在,在客户端设备(要在其中显示 RemoteApp 窗口)上配置 RDP 连接的快捷方式。
- 打开默认的远程桌面连接客户端(
mstsc.exe)。输入远程桌面计算机的 DNS 名称/IP 以及用于登录的用户名。 - (可选)在 RDP 客户端的其余选项卡上配置所需的远程连接设置(本地设备重定向:驱动器、远程桌面剪贴板、打印机等)
- 将配置的远程连接设置保存到文件中
*.RDP扩展名(另存为)

- 在任何文本编辑器中打开此 *.RDP 文件。将以下指令添加到文件末尾:
remoteapplicationmode:i:1 RemoteApplicationName:s:REMOTEAPP TITLE SHOULD BE DISPLAYED IN THE TASKBAR RemoteApplicationProgram:s:"PATH TO THE APP EXECUTABLE ON THE RDP HOST" DisableRemoteAppCheck:i:1 Prompt for Credentials on Client:i:0 Alternate Shell:s:rdpinit.exe
- 如果您需要使用附加命令行参数运行程序,请添加指令:
RemoteApplicationCmdLine:s:COMMAND LINE PARAMETERS
确保现有 RDP 连接参数中未配置选项集。这可能会引起冲突。
- 保存 RDP 连接文件。
例如,运行notepad.exe作为 RemoteApp,将以下行添加到 RDP 文件中:
remoteapplicationmode:i:1 RemoteApplicationName:s:Remote_Notepad RemoteApplicationProgram:s:"%windir%notepad.exe" DisableRemoteAppCheck:i:1 Prompt for Credentials on Client:i:0 Alternate Shell:s:rdpinit.exe


应出现密码提示(您可以保存 RDP 凭据)。确认您信任 RDP 证书,RemoteApp 窗口将出现在您的桌面上。


要将 Microsoft Store 应用程序作为 RemoteApp 运行,请按以下格式在 RemoteApplicationProgram 字段中指定其名称:
start shell:AppsFolderMicrosoft.WindowsCalculator_8wekyb3d8bbwe!App
在此示例中,APPX 名称是从 PackageFamilyName 值复制的,我手动添加!应用程序在最后。
Get-AppxPackage | Select-Object Name, PackageFamilyName | Where-Object { $_.Name -like "*calc*" }


如果您发现经常需要创建快捷方式来启动 RemoteApp,您可以使用免费的远程应用工具(https://github.com/kimmknight/remoteapptool)为您的客户端轻松生成 RDP 或 MSI 安装程序文件。该工具还允许设置文件关联、更改 RemoteApp 项目的图标和其他参数以及配置 RDP 主机设置(包括 RDP 会话超时)。


这种在运行 Windows 10/11 的桌面设备上发布 RemoteApp 的方法不需要部署单独的 RDS 许可服务器和购买终端许可证 (RDS CAL)。但是,这样一台计算机只能使用一个并发 RemoteApp 会话。您可以使用 RDP Wrapper 绕过 Windows 10 和 11 中并发 RDP 连接数的限制。
