我们最近将文件服务器从 win 2008R2 迁移到了 win2019。但是从网络驱动器尝试创建新文件夹或文件会给你一个错误
"refers to a location that is unavailable"
.
权利
用户无权在共享的根目录(以及仅此文件夹)中创建文件或文件夹,正如您在权限中看到的那样: root dir的权限
但用户确实有权在子文件夹中创建/写入,具体取决于他们所在的组。继承是禁用的,因此我们不会拥有来自根目录的权限与子文件夹上设置的权限相混淆。我们将 acls 从旧服务器复制到新服务器:
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 没有正确响应(但仅限于非管理员用户)。
我将不胜感激任何帮助以了解正在发生的事情以及如何解决它。
好的,通过在根目录上添加“读取权限”来解决,如提到的http://clintboessen.blogspot.com/2016/07/bug-with-windows-7-and-access-based.html