共享驱动器,将权限复制到新帐户以查看旧域服务器中的文件

共享驱动器,将权限复制到新帐户以查看旧域服务器中的文件

好吧,这是一个有点困难的情况。

我们正在进行域迁移,我们不会一次性完成所有迁移,这意味着我们将逐步迁移用户。这意味着我们需要能够让用户对公司共享驱动器的权限镜像到他们的新帐户。

目前公司共享驱动器位于旧域上。

例如:Auser 在 Olddomain 中。Auser 能够访问 Oldcompanyshare 中的不同文件夹/文件。

Auser 现在将迁移到 Newdomain。Auser 将在 Newdomain 中获得一个新用户名,即 NAuser。NAuser 需要拥有与 Auser 相同的文件夹权限才能查看 Oldcompanyshare(属于 Olddomain 的一部分)中的文件。

请帮忙,否则我将需要手动授予 NAuser 权限,这将浪费大量时间。

Fileshare 基于 Windows Server 2012 R2。

答案1

对象上的权限是否直接引用用户,还是使用组?换句话说,下面的文件/文件夹是否Oldcompanyshare具有提及的 ACL Auser,或者它们是否使用类似 的组Accounting?[后来 OP 评论表明两者兼而有之,并且域之间存在信任关系。]

当使用组分配权限时,您需要做的就是将其放入NAuser旧域中的相应组中。

当权限直接分配给用户时,情况会变得很糟糕。您需要让某些东西遍历旧系统上的目录树,查找Auser并添加或替换访问控制条目 (ACE),使用使用其他内容的新 ACE。

您可能希望趁此机会迁移到组。从长远来看,这几乎肯定会有所回报。或者,您可以将 ACE 添加到 ACL,以便明确指定 NAuser 和 Auser。

SUBINACL只要做足够的工作,就可以做任何事情。这使得直接替换相当容易。作为初步估计,你会想要类似的东西:

SUBINACL /subdirectories "C:\path\to\Oldcompanyshare" /replace="Olddomain\Auser"="Newdomain\Newgroup"

这假设您正在移至新组。如果您想执行添加并保留旧项(可能是一个好主意),我认为您需要将 ACL 转储到一个文件中,将该文件转换为您想要的内容,然后重新播放 ACL。这会很慢而且很麻烦,但比手动编辑一堆 ACL 要好。(另一方面,如果您只有一个很少ACL,一次性手动 GUI 编辑可能会更容易。)

从 Microsoft 下载 SUBINACL

答案2

如果权限直接分配给用户帐户,则 Windows 本身没有内置的自动化方法来执行此操作。请注意,这就是为什么权限的最佳实践是创建资源权限组、用户/业务角色组、将用户添加到相关用户/业务角色组,然后将用户/业务角色组添加为资源权限组的成员。我找不到我读过的 Microsoft 文章,但是本文基本上有相同的建议/信息。

您可能需要手动转换为嵌套组/RBAC 最佳实践样式,或者使用某种类型的脚本来复制每个共享/文件的用户权限(每个共享或文件,读取现有权限,为相应用户添加新域的权限,然后递归一切)。

相关内容