将 NTFS ACL 从一台脱机服务器复制到另一台服务器

将 NTFS ACL 从一台脱机服务器复制到另一台服务器

同一域中有两台计算机:计算机 A(Windows 2003)和计算机 B(Windows 2003)。两台计算机都有一组相同的文件,并且通过预定的进程保持相同。但是,计算机 A 现在处于离线状态(即不在网络上,但我仍然可以物理访问该计算机),我们意识到 ACL 并不相同。

当机器 A 处于离线状态时,复制 ACL 的最优雅方法是什么?

答案1

假设两台机器上的数据集除 ACL 外均相同,您可以执行以下操作:

icacls c:\path\to\data\* /save ACLData /T

将“ACLData”文件复制到目标机器,然后:

icacls c:\path\to\data /restore ACLData

这将复制 ACL(仅仅是 ACL),假设数据结构相同,并且您有权这样做。

答案2

尝试这个:

SET SOURCEFOLDER=\\server\share\folder
SET DESTFOLDER=C:\folder

REM copy all security ACLs
ROBOCOPY "%SOURCEFOLDER%" "%DESTFOLDER%" /IS /E /COPY:S /NDL /TEE /LOG+:C:\temp\robocopy.log  

/IS - 包括“相同”文件
/E - 复制子目录,包括空目录。
/COPY:S - 复制 NTFS acls
/TEE - 输出到屏幕和日志文件
/NDL - 不要在日志中包含目录名
/LOG+:附加到日志文件

如果文件夹名称中有空格,则可能需要使用引号。

答案3

如果我正确理解了您的问题xcopy,我/o可以为您做到这一点。

相关内容