在 Windows 系统上启用远程应用
需要一个远程桌面 App 进行演示, 安装 Windows 远程桌面服务太折腾, 需要安装域控制器, 再部署一整套的远程服务, 太折腾了, 如果只是演示的话, 没必要那么折腾。
本文介绍一种通过修改注册表来启用远程应用的方法, 可以用于远程应用演示。
在 Windows 上允许远程桌面访问
这个没什么好说的, 非常简单, 在系统属性中设置允许远程连接到此计算机即可。
修改注册表, 创建远程应用
- 打开注册表编辑器, 导航到
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList节点; - 找到
TSAppAllowList, 将fDisableAllowList的值改为1; - 在
TSAppAllowList节点下, 新建项 (K), 名称为Applications; - 在
Applications节点下, 新建项 (K), 名称任意, 比如Notepad; - 在
Notepad节点下, 新建字符串值 (S), 名称为Name, 值为Notepad; - 在
Notepad节点下, 新建字符串值 (S), 名称为Path, 值为C:\Windows\System32\notepad.exe;
可以在
Applications节点下创建任意多的节点, 理论上如果程序没有限制, 都可以作为远程应用;
编辑 RDP 文件, 使用远程应用
- 打开 Windows 附件中的
远程桌面连接程序, 输入服务器的地址, 确认能够连接到服务器的远程桌面; - 将远程桌面连接保存为 rdp 文件(
显示选项->另存为 ...); - 用记事本打开保存的 rdp 文件, 做如下修改:
- 将
remoteapplicationmode:i:0修改为remoteapplicationmode:i:1; - 将
multimon:i:0修改为multimon:i:1; - 添加设置
remoteapplicationprogram:s:Notepad; - 添加设置
disableremoteappcapscheck:i:1; - 添加设置
alternate shell:s:rdpinit.exe;
- 将
- 保存 rdp 文件。
现在, 双击打开 rdp 文件, 就可以自动打开服务器上的记事本程序了。
设置 RDP 超时时间
当关闭远程应用时, 服务器并不会立刻终止远程会话, 因此需要在服务器上设置远程会话超时时间
- 搜索
gpedit.msc, 打开组策略编辑器; - 依次找到
计算机配置->管理模板->Windows 组件->远程桌面服务->远程桌面会话主机->会话时间限制 - 将
设置活动但空闲的远程桌面服务会话的时间限制配置为已启用, 将空闲会话限制设置为1 分钟。
这样, 当用户关闭远程应用 1 分钟之后, 就会自动注销。