在过去的几个月里,我在我们域中的三台不同的机器(Windows Server 2016、Windows 10、Windows Server 2008R2)上遇到了同样的问题。症状总是一样的:
您无法连接到受影响 PC 上的共享(我们称之为 FOO)。如果您尝试,您会收到以下错误(在命令行以及 Windows 资源管理器中):
C:\>dir \\FOO\c$ The target account name is incorrect.
您无法再使用域(我们称之为 BAR.LOCAL)帐户登录 PC。如果您尝试,您会收到以下错误:
The user name or password is incorrect.
尝试应用组策略时,受影响 PC 上的事件日志显示以下错误(事件 ID:4,来源:Security-Kerberos):
Kerberos 客户端从服务器 foo$ 收到 KRB_AP_ERR_MODIFIED 错误。使用的目标名称为 FOO$。这表明目标服务器无法解密客户端提供的票证。当目标服务器主体名称 (SPN) 在目标服务正在使用的帐户以外的帐户上注册时,可能会发生这种情况。请确保目标 SPN 在服务器使用的帐户上注册,并且仅在该帐户上注册。当目标服务使用的目标服务帐户密码与 Kerberos 密钥分发中心 (KDC) 为目标服务帐户设置的密码不同时,也会出现此错误。请确保服务器上的服务和 KDC 都已更新为使用当前密码。如果服务器名称不是完全限定的,并且目标域 (BAR.LOCAL) 与客户端域 (BAR.LOCAL) 不同,请检查这两个域中是否存在同名的服务器帐户,或使用完全限定的名称来标识服务器。
可以通过重新启动受影响的电脑来修复此问题。
到目前为止,每台机器上只发生过一次。
我现在要重启机器,因为我需要使用它,也就是说“试试这个”的答案对我没有帮助,因为我无法再重现这个问题(直到它在另一台机器上再次发生)。不过,我很好奇是否有人知道原因。
在 Google 上搜索 KRB_AP_ERR_MODIFIED 会产生很多结果,但所有结果中的服务器名称都与目标名称不同,因此解决方案不适用。
(PS:几个月前,我们将 AD 从 Windows Server 2003 R2 服务器迁移到了新的 Windows Server 2016。这可能相关,也可能不相关。)