我有一个运行 Windows 2003 R2 的现有 Windows 文件服务器。我想将其升级到 Windows 2008 R2。该服务器安装了很多其他不必要的软件,所以我认为最好的方法是从头开始安装。
目前操作系统位于 c:\
文件位于 D:\
我可以使用什么来保存或复制 D:\ 上所有文件夹的文件权限,以便一旦在 c:\ 驱动器上安装了新操作系统,我就可以复制回这些权限?
答案1
正如 uSlackr 已经提到的,这取决于您的服务器是成员(独立)服务器还是在仅将权限设置为域帐户的域中。
如果您在域中,则无需执行任何操作,因为您的文件上的 DACL 具有带有域 SID 的 ACE,因此在您安装新操作系统后它们仍然有效。
如果您有独立服务器,情况会更复杂。即使您创建具有相同名称的用户和组,ACE 也将不再起作用。复制包含 DACL 信息的文件对您没有帮助,因为源文件上的 DACL 已损坏。
如果您在顶级文件夹级别只有少数不同的权限,那么最简单的方法是清除所有权限并使用脚本从头开始设置新权限,然后该脚本也可作为您的权限策略的文档。
如果您拥有许多不同的用户/组,并且这些用户/组对不同的文件夹/文件具有不同的权限,则必须创建一个程序或 PowerShell 脚本来将旧的 ACE 替换为新的 ACE。您将使用旧 SID 和新 SID 之间的映射表,然后递归替换所有文件/文件夹上的所有 ACE。我可以想象已经有一些工具可以做到这一点,但我不知道有任何现成的工具。
答案2
有几种方法。使用xcopy with the /I
switch 将复制 ACL 信息。 Robocopy and the /SEC or /copy:DATS
也将包括 ACL 信息。当然,您可以保持磁盘完好无损,数据和权限将没问题。
一个重大警告! 如果这些 ACLS 与本地帐户(而非 AD 帐户)相关联,则从头重建后 ACL 将变得无用,因为新帐户将具有不同的 SID。
答案3
我同意之前的答案,但会使用 robocopy 和 /MIR(代表 MIRROR)。
ROBOCOPY Source_folder Destination_folder /MIR
一些参考资料: https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=17657 http://technet.microsoft.com/en-us/library/cc733145%28v=WS.10%29.aspx http://ss64.com/nt/robocopy.html