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

我们在同一个域上有两台机器:机器A(Windows 2003)和机器B(Windows 2003)。 两者都有一组相同的文件,并通过预定的过程保持相同。 但是,机器A现在是脱机的(即不在networking上,但是我仍然可以物理访问机器),并且我们意识到ACL是不相同的。

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

假设你的数据集在两台机器上是相同的,除了ACL,你可以这样做:

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

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

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

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

尝试这个:

 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 – 复制子目录,包括空的。
/复制:S – 复制NTFS acls
/ TEE – 输出到屏幕和日志文件
/ NDL – 不要在日志中包含目录名称
/ LOG +:附加到日志文件

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

如果我正确理解你的问题xcopy/o可以为你做这个。