“下次登录时更改密码”要求如何与使用网络级别身份验证的 RDP 配合使用?

“下次登录时更改密码”要求如何与使用网络级别身份验证的 RDP 配合使用?

我们有一台安装了“远程桌面服务”功能的 Windows 服务器 (2008 R2),但没有 Active Directory 域。远程桌面设置为"Allow connections only from computers running Remote Desktop with Network Level Authentication (more secure)"。这意味着在显示远程屏幕之前,会在“Windows 安全:输入您的凭据”窗口中对连接进行身份验证。

该服务器上安装的唯一两个角色服务是 RD 会话主机和许可。

用户属性窗口

当在此服务器上的本地用户的属性中选中“用户下次登录时必须更改密码”复选框时,尝试使用上次有效的凭据进行连接后,客户端计算机上会显示以下内容:

发生错误

在其他一些使用 RDP 进行管理员访问的服务器上(但未安装远程桌面服务角色),行为有所不同 - 会话开始,用户在远程屏幕上收到更改密码提示。我需要做什么才能在远程桌面服务服务器上复制此行为?

答案1

我假设你不能这样做。强制实施 NLA(网络级身份验证)后,用户无法远程登录并更改其密码。

您可以在远程桌面服务器上使用 tsconfig.msc,右键单击 RDP-Tcp 连接并选择“属性”,然后将安全层下拉菜单更改为“RDP 安全层”,但这样您就会失去 NLA。不幸的是,这两个设置是互斥的。

如果必须拥有 NLA,那么您需要为用户建立一种更改过期密码的替代方法,例如通过 Outlook Anywhere、RDWeb Access 或加入域的工作站的物理控制台等。

这有点像是两难的局面,因为根据设计,NLA 甚至不会分配创建远程桌面会话所需的系统资源,直到您的凭据被验证为有效。但您必须连接到完整会话、创建桌面、为您生成 LogonUI.exe 等,才能更改密码。但您无法进行会话,因为您的密码已过期。我认为,允许这种情况会在 NLA 中打开一个漏洞,用户可以绕过 NLA 并获得会话,即使他们没有好的(即未过期的)密码。

http://support.microsoft.com/kb/2648402说:

在 CredSSP 的协议规范中,没有提及在 NLA 运行时更改用户密码的能力。因此,观察到的行为可以视为“设计使然”。

CredSSP 是启用 NLA 的底层技术,它不支持密码更改。因此,MSTSC 中未启用密码更改。其他支持 NLA 的 RD 客户端应该无法更改用户的密码。

答案2

请问,谁知道农场的情况,绝对的:

  1. 不适用于策略:网络级别身份验证 - 已禁用,重新启动桌面 ID 服务。

  2. 在场设置协议的所有计算机上,tsconfig.msc 都无法使用:RDP 而不是 NLA(协商),请重新启动桌面帐户服务。

未选中时不起作用:仅当客户端在网络身份验证上运行时连接...,在所有农场机器上设置,重新启动桌面服务。

GATEWAY-BROKER-TEMINAL 连接上的任何地方都是一个错误,涉及协议 NLA 或其他内容,但使用场网关时登录(网关 + 代理 + 一台机器上的 Web RD 的角色)- 不!即,一旦您选中复选框:用户必须在下次登录时更改密码,您就无法再登录,因此无法更改用户密码!!!

谁知道在 GATEWAY-BROKER-TEMINAL 包中的哪里可以进行挖掘,在协议内部的某个地方,在政策的某个地方还是在其他地方?

答案3

简而言之!这就是解决方案!

  1. 创建一个不属于域中任何组的帐户,或者将组清空并将其设为主用户,甚至从组域用户中删除。

  2. 我们仅将该用户添加到农场网关上的远程桌面组。

  3. 然后,我们仅在网关部分写入该用户的任何客户端属性以及登录名、密码、域。

  4. 在相同的连接设置中写入需要连接的PC(通常是服务器场中的第一台PC)。

一切。利润。谢谢大家。解决方案是由我的团队集体智慧找到的,对此,她和我都表示衷心的感谢!

相关内容