3

我们在使用 WISE 打包安装程序最初为 Windows 7 设计的自定义应用程序包中遇到 Kerberos 和/或 NTLM 身份验证失败。在 Windows 7 上,它们工作正常,但现在在 Windows 10 上失败。它们在使用 Microsoft SCCM 工具在 Windows 10 上安装期间都失败,并且在安装过程中对网络上的 SMB 共享使用 Kerberos 身份验证时特别失败。我们可以在网络跟踪中看到客户端应用程序在身份验证事务期间从 Kerberos 故障转移到 NTLM。我们不确定为什么。我们有一个大规模的 Active Directory 环境。因为 WISE 包是编译的,所以我们无法查看它。在成功的 Windows 7 机器上,似乎计算机在执行包时需要访问共享,并且登录的用户必须具有对 SMB 共享的读取和执行访问权限。我们能够访问使用 Windows 7 系统帐户但不是使用 Windows 10 系统帐户时相同的 SMB 共享。很奇怪!这是包内的代码问题吗?这可能很重要:SMB 共享使用 DNS 别名,不确定这是否有任何区别。主人的真实姓名不同。当使用主机的真实名称而不是别名时,访问问题似乎得到了解决。

4

1 回答 1

6

网络共享不会碰巧由非 Windows 服务器托管,不是吗?如果是这样,请查看这篇文章是否适用:

通过 DNS CNAME 别名访问 SMB 文件服务器共享不成功

基本上,Windows 10 的安全模型发生了变化。默认情况下,Windows 10 不会为 DNS 别名请求 Kerberos 票证,但 Windows 7 会。SMB 服务器基本上是在说,因为你没有使用我的真实姓名(如服务票证所示),我不会允许连接。使用成功的 Windows 7 计算机连接的名称创建一个新的 SPN,但采用 SPN 形式。例如,如果 Windows 7 正在使用这样的东西:

\servername.domain.com\sharename

..然后找到代表主机的 AD 计算机对象的名称并将辅助 SPN 添加到该 AD 对象,如下所示:

主机/服务器名.domain.com

于 2017-06-05T21:42:22.510 回答