我们最近将文件服务器从 win 2008R2 迁移到 win2019。但是从网络驱动器尝试创建新文件夹或文件会出错
"refers to a location that is unavailable"
。
权利
正如您在权限中所看到的,用户无权在共享的根目录(并且只能在此文件夹中)创建文件或文件夹: 根目录的权限
但用户确实有权在子文件夹中创建/写入,具体取决于他们所在的组。继承已禁用,因此我们不会将根目录中的权限与子文件夹上的权限设置混淆。我们将旧服务器中的 acl 复制到了新服务器:
icacls c:\windows\ /save AclFile /T /C /Q
icacls c:\windows\ /restore AclFile /T /C /Q
更多关于此这里
管理员似乎没有遇到问题(可能是因为他们可以直接在共享的根目录中创建文件和文件夹)。但是,虽然网络驱动器无法正常工作,但用户可以使用UNC 路径共享。所以这不是权利问题。
服务器故障?
对于所有版本的 Windows 用户(客户端 win7 和 win10、TerminalServer 2012R2 和 2016),这个问题都是普遍存在的。我运行了 wireshark 来了解客户端在尝试创建文件时实际发生了什么:
SMB2 - Create Request File
SMB2 - Create Response, Error : STATUS_OBJECT_NAME_NOT_FOUND
SMB2 - Cancel Request
SMB2 - Notify Response, Error : STATUS_CANCELLED
似乎 SMB 没有正确响应(但仅限于非管理员用户)。
我将非常感激任何帮助我了解发生了什么事情以及如何解决它。
答案1
好的,通过在根目录上添加“读取权限”来解决http://clintboessen.blogspot.com/2016/07/bug-with-windows-7-and-access-based.html