因此,Windows Server 2012 的发布删除了许多与远程桌面相关的旧配置实用程序。特别是,不再有远程桌面会话主机配置实用程序可让您访问 RDP-Tcp 属性对话框,该对话框让您配置自定义证书供 RDSH 使用。取而代之的是一个漂亮的新整合 GUI,它是新服务器管理器中整体“编辑部署属性”工作流程的一部分。问题是,只有安装了远程桌面服务角色(据我所知),您才能访问该工作流。
这似乎是微软方面的一个疏忽。当 Windows Server 2012 在默认远程管理模式下运行时,我们如何为 RDP 配置自定义 SSL 证书,而无需安装远程桌面服务角色?
事实证明,RDSH 的大部分配置数据都存储在命名空间
Win32_TSGeneralSetting
中 WMI 的类中root\cimv2\TerminalServices
。为给定连接配置的证书由该证书在名为 的属性上的指纹值引用SSLCertificateSHA1Hash
。更新:这是一个通用的 Powershell 解决方案,可以在计算机的个人存储中获取并设置第一个 SSL 证书的指纹。如果您的系统有多个证书,您应该向命令添加一个
-Filter
选项以gci
确保您引用了正确的证书。我在下面完整地保留了我的原始答案以供参考。为了获得指纹值
现在您有了指纹值,下面是您可以使用 wmic 设置值的单行代码:
或者,如果您喜欢 PowerShell,则可以改用它:
注意:证书必须位于计算机帐户的“个人”证书存储中。
如果您在尝试 Ryan 的解决方案时收到“无效参数”,请确保您使用的是提升的命令提示符(以管理员身份运行)。
您需要将您
domain.pfx
的指纹保存在一个 txt 文件SSLCertificateSHA1Hash.txt
中。然后在CMD中运行: