将文件权限从一个目录复制到另一个

在这个周末我把公司的数据从一个硬盘复制到另一个硬盘。 我认为许可会复制,但他们没有。

什么是最好(最快)的方式来复制最初设置到我的新数据的权限,而不必再次复制所有的数据? 我的用户现在正在访问数据,所以不想重新复制数据,因为更改可能会丢失。

数据托pipe在Windows Server 2008 R2上

我认为这将做的工作:

robocopy source destination /E /COPY:SOU /xo /xn /xc /xx /LOG+:F:\Sec.log. 

SOU ”副本: S =安全信息(NTFS ACL), O =所有权信息, U = aUditing信息

如果这不起作用,您可以使用此命令来备份NTFS权限:

 icacls d:\data /save ntfspermissions.txt /t /c 

/ T开关也允许它获得子文件夹的权限。 / C开关允许它继续,即使遇到错误(尽pipe仍然会显示错误)。

然后使用这个命令来恢复权限:

 icacls d:\ /restore ntfsperms.txt 

请注意,在保存权限的命令中,我指定了目标文件夹D:\Data ,但是当我恢复它们时,我指定了D:\作为目标。 您可能认为在恢复命令中将D:\指定为目标可能会以某种方式混淆该级别上其他文件夹的权限,但是您可以从ntfspermissions.txt输出文件中看到,它只包含有关Data文件夹和子文件夹的信息,所以这一切都会改变。

你可以尝试使用Robocopy 。 AFAIK它仍然适用于较新的Windows版本。

像Priaeas说的,robocopy。

方便的参考指南开关使用 。

/ copyall或/ copy:DATSOU将复制“一切”(数据,属性,时间戳,NTFS ACL,所有者和审计信息)。

/复制:copyflag [s]:复制什么(默认是/ COPY:DAT)(复制标记:D =数据,A =属性,T =时间戳S =安全= NTFS ACLs,O =所有者信息,U = aUditing信息) 。

 xcopy e:\*.* z: /T /E /I /H /K /X /Y 

e:是一个物理驱动器的根,有几个分支和各种各样的点缀的inheritance块。 z:是“新”驱动器,在这种情况下是映射的驱动器。

它只是工作,而不是股份,只是权限。

使用PowerShell:

 Get-Acl 'source path' | Set-Acl 'destination path' 

CopyMik免费软件程序钥匙:

/ CSF [FileMask1 [FileMask2 [….]]]]复制文件安全属性。 只有具有指定掩码的文件。 (默认掩码*)

/ CSD [DirMask1 [DirMask2 [….]]]]复制文件夹的安全属性。 只有具有指定掩码的文件夹。 (默认掩码*)

http://www.superbasis.de/copymik/index.htm