阿国运维网技术分享平台:桌面运维、网络运维、系统运维、服务器运维(及云服务器),精品软件分享、阿国网络、尽在北京运维网
现象
你有一台基于 Windows Server 2008 R2 的计算机,该计算机不是域的成员。 服务器的管理员创建也是管理员的新用户,为新用户设置密码,并选择在下次登录时要求更改密码的选项。 当新用户通过远程桌面协议(RDP)连接到服务器进行首次登录时,系统会提示其输入新密码。 当用户键入新密码并尝试继续时,他或她会收到以下错误消息:
没有足够的存储可用于处理此命令。
密码不会更改,当用户尝试再次登录时收到相同的错误消息。
原因
出现此问题的原因是 RPC 运行时收到错误。
具体而言,发生的方案如下所示:
密码更改请求过程由本地安全机构(LSA)放入匿名访问令牌中。 之所以发生这种情况,是因为密码无效,因此用户不会进行身份验证。 使用此令牌,密码更改请求将通过 RPC 传递到本地安全帐户管理器(SAM)。 (之所以使用 RPC,是因为此时也可能远程发送请求。RPC 运行时读取系统策略以确定正确的配置。 (配置为密钥 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Rpc.
中的“Server2003NegotiateDisable” )
在此方案中,RPC 运行时收到此请求的错误 5“ACCESS_DENIED”,并将其映射到 RPC 错误 15“RPC_S_OUT_OF_MEMORY”。
解决方法
若要解决此问题,请使用以下一种方法:
使用设施远程更改用户的密码,以在用户通过 RDS 连接之前设置密码。
更改以下注册表项上的注册表权限以启用 ANONYMOUS LOGON 的读取访问权限,然后继承注册表树中的读取权限:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies
在 Windows Server 2012 中,服务器拒绝密码过期或设置为在下一次登录时更改的用户的登录。 在这种情况下,必须使用方法 1 来设置密码。