以本地管理员身份登录。尝试将管理员设置为驱动器上所有文件和文件夹的所有者。驱动器包含现有文件夹结构,其中的证券/权限/acl 是使用 robocopy 从另一台服务器复制的,这就是本地管理员或管理员组无法访问所有文件夹的原因。这种情况发生在继承被破坏的各个地方。
如果我使用 icacls /setowner,我会在继承中断时被拒绝访问。如果我使用 takeown 命令,它会强制取得所有权,但它也会删除所有其他权限,导致只有本地管理员被列在权限中。我需要保留现有权限,但取得所有权,这样我的其他恢复和复制作业就不会在继承中断点失败。
答案1
最终,我使用 Setacl 实现了我的目标。我编写了以下脚本,该脚本遍历了整个文件夹结构和文件,并将所有权授予本地管理员组,然后再次遍历并为我们的 IT 域组添加了完全控制 ACE。它无需替换或删除现有权限/ACE(除了替换所有者),就可以完成此操作,而且我没有收到任何访问被拒绝错误:
setlocal
set logDir=%1
set targetDir=%2
set logFileName=%~n2
set logFileNameEnding=%3
SetACL.exe -on %targetDir% -ot file -actn setowner -ownr "n:S-1-5-32-544;s:y" -rec cont_obj -log "%logDir%\%logFileName%-TAKEOWN-%LogFileNameEnding%.txt" -silent
SetACL.exe -on %targetDir% -ot file -actn ace -ace "n:domain\group;p:full;s:n;m:set;w:dacl" -rec cont_obj -log "%logDir%\%logFileName%-ADD-DOMAIN-GROUP-%LogFileNameEnding%.txt" -silent
endlocal
答案2
您可以尝试添加更多权限,而不是从源头获取所有权,但如果失败了,您将必须弄清楚访问权限是什么,然后在更改所有权后重新创建它们。
这些文件应该在原始系统上准备好传输,或者应该在没有外来权限的情况下进行机器复制。您的权限中不是有大量未知用户吗?