HOWTO: 为 Remote Desktop Services (RDP) 创建和指派证书
HOWTO: 为 Remote Desktop Services (RDP) 创建和指派证书
Windows 启用远程桌面后,会使用自签名证书加密 RDP,这导致用户在通过 MSTSC 启动 Remote Desktop Connection 进行连接时遇到不受信任的警告提示,此外如果部署了 Remote Desktop Services - RemoteApp,也是需要为其配置证书的,本文将只分享如何创建用于 RDP 证书,以及为 RDS 指派证书的方法和过程,其他相关的细节不会指出和讨论。
要创建 RDP 证书需要使用 x509 证书的增强型密钥用法扩展 - “微软远程桌面验证”(Remote Desktop Authentication) ,其 OID 为:1.3.6.1.4.1.311.54.1.2 ,其中各字段表示的含义如下:
- 1.3.6.1.4.1.311.54.1.2 - 微软远程桌面验证(Remote Desktop Authentication)
- 1.3.6.1.4.1.311 - Microsoft
- 1.3.6.1.4.1 - IANA 注册的私营企业
- 1.3.6.1.4 - 互联网私人
- 1.3.6.1 - 来自 1.3.6.1 的 OID 分配 - 互联网
- 1.3.6 - 美国国防部
- 1.3 - ISO 识别组织
- 1 - ISO 分配的 OID
已经获取到 Remote Desktop Authentication 的 OID 为 1.3.6.1.4.1.311.54.1.2,接下来就可以创建用于 RDP 的证书模板,为此启动 ADCS 控制台进入证书模板管理,基于“计算机”证书创建 RDP 证书,在“扩展”选项卡下,编辑“应用程序策略”,根据前面提供的 OID 添加新的策略扩展。
当我们基于 RDP 证书模板获取到证书后,就需要指派给本机 RDP,可以参考微软官方的知识库 KB3042780 提供的方法操作。
首先,取得 RDP 证书的 指纹,可以从申请到的证书详细信息中获取,将其复制到一个文本文件中,以备后用。
为了确保后续能正常使用,请将指纹复制到 CMD 中,删除字符串中的空格以及首部的 ASCII 字符,并重新复制到文本文件中。
证书指纹准备就绪后,执行如下指令替换当前计算机的 RDP 证书。
至此,配置结束。当然我们也可以修改注册表实现如上的步骤。
注册表路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
键名称:SSLCertificateSHA1Hash
键类型:REG_BINARY
键值:证书指纹
因为 RDS 运行在 “NETWORK SERVICE” 账户下,我们需要通过 MMC 载入 证书 模块,找到 RDP 证书,在 “权限” 中添加 “NETWORK SERVICE” 允许 “读取”。
HOWTO: 使用 Windows 10 预配包为用户卸载内置应用
HOWTO: 使用 Windows 10 预配包为用户卸载内置应用
早先 gOxiA 分享过一篇日志“HOWTO: 卸载 Windows 10 内置应用”,介绍了如果使用 PowerShell 指令查询和卸载 Windows 10 内置的“现代”应用,今天则与大家分享如何使用预配包(ppkg)为用户卸载内置应用。那什么是预配包呢?
Windows预配可使IT管理员轻松配置最终用户设备,而无需映像处理。预配包(.ppkg)是一系列配置设置的容器,遵循 CSP(配置服务提供程序)规范,且包含以下优点:
- 快速配置新设备,无需完成安装新映像的过程。
- 通过使用单个预配包配置多台设备来节省时间。
- 在没有MDM基础结构的情况下,在组织中快速配置员工所拥有的设备。
- 在设备没有网络连接的情况下配置设备。
预配包在实施中可通过移动媒体安装;也可以附加到电子邮件中;或从网络共享下载;设置还可以在 NFC 标记或条形码中部署。
有关 Windows 10 预配包的详细信息可参考官方资料。
https://docs.microsoft.com/en-us/windows/configuration/provisioning-packages/provisioning-packages
要创建和生成 Windows 10 预配包需要在 IT 管理员的系统上安装 Windows ADK,其中 ICD (Windows 映像和配置设计器)组件即是预配包的创建工具,在 ICD 准备就绪后,我们需要先获取到当前 Windows 10 版本内置的应用列表,其中 PackageFamilyName 是必要的信息,可以通过 PowerShell 指令实现。
拿到了 Windows 10 内置应用名称列表后,便可启动 ICD 创建用于卸载内置应用的预配包。为此在 ICD 组件列表中定位到 “UniversalAppUninstall” 下的 “Uninstall”,然后在中间的编辑窗体中填入我们要卸载的 Windows 10 内置应用的 PackageFamilyName 名称,如下图所示添加了两个要卸载的内置应用到 Uninstall 列表中。
然后,再点击左侧组件列表中添加到 Uninstall 下的应用名称,将其配置选项改为“Uninstall”,此时添加的配置才会正式生效,然后再保存并发布预配包,获得名为“RemoveApps.ppkg”的预配包。
在最终用户系统上拿到该预配包后,可以通过双击直接运行,在弹出的“此程序包是否来自你信任的源”提示框中单击“是的,添加它”即可。
此外,我们也可以通过 PowerShell 指令以静默方式进行安装,命令行如下:
本文参考来源:https://blogs.technet.microsoft.com/mniehaus/2018/06/02/yet-another-way-to-clean-up-in-box-apps/
适用于虚拟桌面的 Windows 10 企业版
适用于虚拟桌面的 Windows 10 企业版
在 Windows 10 1809 中微软已经在商业授权的 ISO 中加入了新的 SKU – 适用于虚拟桌面的 Windows 10 企业版。gOxiA 最近在评估 RDS,于是做了简单的安装测试和操作,特分享至此。
如果你拿到的是商业授权的 ISO,那么在安装过程中可以选择 “适用于虚拟桌面的 Windows 10 企业版”。
在系统的“关于”页面下,可以看到系统的基本信息,此 SKU 隶属于 1809 分支,版本为 17763.1,由于是在配置了 vGPU 的虚拟机中安装测试的,在首次首次进入系统时一直处于黑屏状态,于是选择了关机重新启动,之后便能够正常看到登录界面,且没有经历 OOBE 阶段,可用 Administrator 账号和空密码直接登录,在进入桌面后能看到系统发出的“远程桌面授权模式尚未配置”的提示,看来这个 Windows 10 版本应该是默认内置和启用了“虚拟桌面会话主机”的角色。
检查“远程桌面”设置,发现默认也是开启的。
在“控制面板”中能够看到 RDSH 特有的“在远程桌面服务器上安装应用程序”的选项,看来确实是基于 RDSH。
在当前状态下,gOxiA 创建了几个账号以测试 Remote Desktop Services,发现仍然只能以一个 Session 登录系统,之后尝试在现有的 RDS 环境中添加其作为 RDSH,却未能完成,初步排查应该需要 RDS2019 才能添加“适用于虚拟桌面的 Windows 10 企业版”作为远程桌面会话主机。
接下来当然是要抽时间搭建个 RDS2019 做做测试和评估……