错误 1307 (0x0000051B) - 使用 Robocopy 复制时 - 已知的解决方案均不起作用

错误 1307 (0x0000051B) - 使用 Robocopy 复制时 - 已知的解决方案均不起作用

我正在尝试使用以下 robocopy 选项将文件夹从一个硬盘复制到另一个硬盘:

robocopy "H:\Source" "T:\target" /E /COPY:DATSO /R:1 /W:1 /DCOPY:T /Z /LOG:T:\Belfirst_copy.log /NP 

对于所有者不是管理员而是某些特定域用户的文件,我收到以下错误:

ERROR 1307 (0x0000051B) Copying NTFS Security to Destination Directory T:\target\...(a lot of files/dirs)
This security ID may not be assigned as the owner of this object.

我已经尝试了我能找到的所有建议的解决方案:

  • 授予我登录并以该身份运行脚本的域用户对源和目标目录的完全访问权限。
  • 授予我登录并以该身份运行脚本的域用户“恢复文件和目录”权限。
  • 以管理员身份运行
  • 作为 bat 文件运行
  • 注销并重新登录并重试
  • 使用 /B 选项
  • 尝试不使用 /COPY:S 选项

显然,不使用 /COPY:O 选项进行复制可以解决问题。但这当然违背了初衷。

我错过了什么?

平台:Windows Server 2008 R2

(这与“Windows Server 2008 计划任务中的 Robocopy 失败“,但我的声誉还不足以在那里添加评论。)

答案1

通常,您只能为自己获取文件系统对象的 NTFS 所有权。您不能将所有权设置为第三人。(这可以防止用户将有损害或有罪的数据存储在其他不知情的人的所有权下。)

安全策略中有“恢复文件和目录”权限。Microsoft状态

此安全设置 [...] 确定哪些用户可以将有效的安全主体设置为对象的所有者。

显然,您需要此权限才能复制所有权。Robocopy 必须在允许将所有权设置为任意主体的安全上下文中运行。

默认情况下,本地管理员具有以下权限:

默认情况下,此权限授予域控制器上的管理员、备份操作员和服务器操作员组,以及独立服务器上的管理员和备份操作员组。

(“恢复文件和目录”权限是策略的一部分。您可能需要注销并重新登录才能使其生效。)

答案2

我也遇到过这个问题。我编写了一个批处理文件来复制当前登录的用户,并将他的所有配置文件文件夹复制到网络共享位置。使用变量和此开关组合,每个文件夹都可以无错误地复制。必须为每个单独的文件夹创建一个命令,但它可以工作。您可能必须授予用户在网络共享中创建文件夹的权限,或者在第一次备份之前创建它。

robocopy “%HOMEPATH%\ FOLDER” “ \ SERVER \ NETWORK_SHARE \%USERNAME%\ FOLDER”/ s / mir / zb / b / copy:dat

相关内容