我在域中有一个 Server 2012 服务器。我在其上设置了一个共享文件夹。然后我从我的工作站 (8.1) 对其进行了测试 - 效果很好。
但后来我收到很多用户的投诉,说他们无法访问共享文件夹。事实证明,Windows 7 客户端(有好几个)无法访问共享文件夹。当我远程访问他们的一台机器时,我看到在资源管理器中转到“\SERVERNAME”会导致弹出 Windows 安全对话框,要求输入用户名和密码。输入正确的用户名和密码没有任何作用 - 安全提示只是重新出现。
我已经完成了所有基本的故障排除 - 仔细检查权限、验证连接和 DNS 等。我怀疑这些问题,因为 Win 8.1/10 框可以正常访问此共享文件夹。其他 Server 2012/2012 R2 框也可以。但是,我也无法从 Server 2008 R2 框访问共享文件夹(相同的安全对话框)。这又是一个问题,因为我们有 2008 R2 终端服务器,它们无法访问托管在 2012 服务器上的此共享。我甚至无法进行网络查看。这是我从 Win 7 客户端“网络查看 \SERVERNAME”时得到的结果:
System error 5 has occurred.
Access is denied.
这次完全没主意了。什么原因会阻止 Win 7/Server 2008 R2 访问 Server 2012 机器上托管的共享?Win 8.1/10 客户端可以正常访问。
所有内容均已修补至最新版本。
答案1
好的 - 看起来问题是该服务器已启用加密文件共享访问(看到这个)。
看来,当启用此功能时,服务器将专门使用 SMB 3.0,并将拒绝没有 SMB 3.0 的客户端的连接(即 Windows 7 或更早版本以及 Windows Server 2008 R2 及更早版本的任何版本)。
“修复”方法是将客户端升级到至少 Windows 8,将服务器升级到至少 Windows 2012。也可以通过 powershell 命令禁用加密:
Set-SmbServerConfiguration –RejectUnencryptedAccess $false
(它将允许访问共享的客户端重新协商到较低版本的 SMB,如 SMB 2,但显然如果可能的话应该避免这种情况。