数据迁移后用于整个网络设备的Powershell get-acl和set-acl

问题描述 投票:0回答:1

Case:我们必须将完整存储迁移到新计算机(均为裸机)上,将Windows Server 2008迁移到Windows Server 2012,并同时进行跨域迁移。

从旧计算机的Y上安装了旧域管理员的网络设备1:在Z上安装了新域管理员的网络设备2:在新计算机上

我们已经通过robocopy成功复制了所有数据:

ROBOCOPY %SORC% %DEST% /MIR /DCOPY:T /B /R:1 /W:1 /NP /LOG:%LOG%

Actual:现在,我们必须执行两个步骤:将旧用户acl迁移到复制的文件和文件夹。我找到了get-acl和set-acl,但是有:

get-acl Y:\ | set-acl Z:\

仅对该文件夹/文件采取措施。例如,如果我运行get-acl'Y:\ IT \ folder'| set-acl'Z:\ IT \ folder'单个文件夹上的ACL复制成功。

问题a)如何将整个网络设备(旧)的每个文件和文件夹的ACL复制到新文件,并在其上复制所有文件,并且b)如何处理那些文件,因为过去的安全设置错误,旧计算机上的旧管理员没有所有者权限?

提示:我已经在Robocopy和其他robocopy开关上尝试过/ SEC属性-在我们的情况下不起作用,因为我们必须在新的域管理员的新域存储上运行PS脚本-在旧的存储仅是Powershell版本1-因为它是服务器2008。

案例:我们必须将完整存储迁移到新计算机(都是裸机)上,将Windows Server 2008迁移到Windows Server 2012,并同时进行跨域迁移。安装有...

powershell filesystems acl windows-server
1个回答
0
投票

可能需要逐个文件进行。您可以通过获取原始驱动器上所有文件夹和文件的完整递归文件列表,然后循环设置每个文件夹的ACL来做到这一点。类似于:

© www.soinside.com 2019 - 2024. All rights reserved.