如何以编程方式将文件权限从一个 AD 域用户更改为单独的 AD 域用户?

Mas*_*iti 3 windows-server-2008 active-directory ntfs file-permissions

我们在圣安东尼奥的一个共置 RackSpace 设施中,有一个名为“SAT”的活动目录。

我们正在搬到他们的达拉斯/英尺。值得的设施,有一个名为“DFW”的活动目录。

这些机器运行的是 Windows 2008 Server(有些是 32 位,有些是 64 位)。

这些机器已使用 DoubleTake 软件克隆到新设施,并且通常运行良好。然而,在移动机器后,我们被迫使用在 DFW Active Directory 中建立的新用户帐户开始登录。

我花了很长时间让我们的原始服务器在跨服务器的文件权限方面工作,我希望有人可以共享一些编程方式,无论是使用现有的软件,还是一些自定义的 .NET 代码,我们都可以“翻译”所有这些权限。

例如,我想要某种方式来指定要更新的驱动器,“BEFORE”用户名,例如 SAT\User,以及“AFTER”用户名,例如“DFW\User”,然后让 er rip ... 任何想法?

小智 6

我强烈推荐免费的开源工具 SetACL。

http://helgeklein.com/setacl/examples/managing-file-system-permissions-with-setacl-exe/#example-5-migrating-permissions-between-domains

我将假设 SAT 和 DFW 没有任何类型的信任,并且 SAT\USER1 可能具有与 DFW\USER1 截然不同的 SID。NTFS 中的权限都是由 SID 存储的,而不是用户名。这会使事情复杂化。

先学习备份和恢复命令,把你所有服务器上的权限备份到安全的地方。您可能需要提出自己的解决方案,将现有权限备份到 SDDL 文件,搜索并替换域名或 SID,然后在新域中恢复。