Tag

RDP

Windows 11 远程桌面打开 .rdp 就弹出"未知发布者":原因、无效方案和最终解法

排障复盘

省流:最终方案是 MsRdpEx。安装后把开始菜单里的 mstscex 固定到开始屏幕,右键点击磁贴选择最近使用的 .rdp,直接连接,不再弹"未知发布者"警告;不用给每个文件创建入口,.rdp 也不需要签名,照常手动修改。

我的桌面上有一个 rdp 文件夹,里面放着十份 .rdp,分别对应不同机器。分辨率、重定向、地址这些东西我都是直接修改文件;平时从开始菜单的磁贴右键点击选择最近的文件,偶尔在资源管理器里双击。

某天要用远程桌面,打开就是一个黄色的安全警告:

Windows 11 远程桌面安全警告:未知的远程连接

这些文件都是我自己写的,地址和凭据都在本机,不可能有安全问题,只觉得莫名其妙,开始找关闭的办法。

这不是服务器证书警告

远程桌面本来就有几类警告,容易混在一起。服务器证书不受信任时,弹出的是证书警告;这次弹出的是发布者校验,针对的是 .rdp 文件本身。

原因来自 2026 年 4 月的安全更新(CVE-2026-26151)。更新之后,只要是通过 .rdp 文件发起连接,mstsc 就会先展示远程地址和请求的重定向项,并且把所有本地资源重定向默认关掉。文件没有数字签名,发布者一栏自然就是"未知发布者"。

微软的说明写得很清楚:Understanding security warnings when opening Remote Desktop (RDP) files。

还有一个容易忽略的边界:这个校验只影响"打开 .rdp 文件"这条路径。直接运行 mstsc /v:host,或者手动在客户端里输入地址,行为没有变化。

也就是说,问题不在 RDP 协议,而在"通过文件启动"这个入口。

试过但没用的方案

注册表回退只换了界面

微软文档给出的临时回退是:

bat
reg add "HKLM\Software\Policies\Microsoft\Windows NT\Terminal Services\Client" /v RedirectionWarningDialogVersion /t REG_DWORD /d 1 /f

设置之后重新打开 .rdp,弹窗确实变了:从新版的"警告: 未知的远程连接"变成了旧版的"此远程连接可能损坏你的本地或远程计算机",多了一个"不再询问我是否连接到此计算机"的复选框。

旧版远程桌面安全警告:无法识别发布者,底部有"不再询问我是否连接到此计算机"复选框

但是既然做了就一步到位把警告全关了。

首次启动的同意标志不是这个弹窗

网上很多文章会把 RdpLaunchConsentAccepted 和这个弹窗混在一起:

bat
reg add "HKCU\Software\Microsoft\Terminal Server Client" /v RdpLaunchConsentAccepted /t REG_DWORD /d 1 /f

它只负责第一次打开 .rdp 时那个"我了解并允许在此设备上打开 RDP 文件"的说明窗口。设置成 1 之后,说明窗口不再出现,但每次连接的发布者校验照旧。

网上流传的 EnableRdpFileSecurityWarnings 没有效果

在查询资料时看到一种说法:在 HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services 下新建 EnableRdpFileSecurityWarnings,设为 0,就能彻底关闭新警告。

我照做了,弹窗没有任何变化。

签名确实有效,但和我的用法冲突

这是微软支持的路线:给 .rdp 签名,再把签名证书的指纹加入受信任发布者列表。

我实际验证过,流程成立:

  1. 创建一张带 Code Signing 用途的证书,把公钥导入"受信任的根证书颁发机构"和"受信任的发布者"
  2. 用 rdpsign 给 .rdp 签名
  3. 在 HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services 下设置 TrustedCertThumbprints
  4. 再次打开已签名的文件,安全警告消失;未签名的文件仍然会弹出

当然也没有采用这个方案,我会手动修改 .rdp,改一次签名一次太麻烦了

最后用的是 MsRdpEx

兜了一圈,最后留下的是 MsRdpEx。

它是 Devolutions 维护的开源项目,MIT 协议。安装之后,安装包会注册 MsRdpEx.RDP,并在开始菜单里放一个 mstscex 快捷方式。这个启动器会加载微软自己的 mstscax.dll 来建立连接,同时注入 MsRdpEx.dll,支持一些 mstsc 原本不认的 .rdp 选项。

对我来说,关键点只有一个:由它接管之后,打开 .rdp 不再经过那个发布者校验弹窗。

安装包在 Releases 页面。我写这篇文章时最新版本是 2026.10.14.0,安装包带有 Devolutions INC. 的 EV 代码签名:

日常入口:固定 mstscex 磁贴

安装完成后,开始菜单里会出现 mstscex。右键固定到开始屏幕

之后右键点击这个磁贴,菜单里会列出最近打开过的 .rdp,这样打开没有发布者警告