更改Active Directory域

时间:2019-12-06 08:34:12

标签: acumatica

我们有一个特殊的请求,我们需要更改Active Directory域。 Acumatica是在本地(不是SaaS)安装的。

实现这一目标的技术程序是什么?

我试图查找Acumatica文档,但找不到与此直接相关的内容。

我知道我们需要将Active Directory web.config文件设置更改为新的LDAP。

但是,我们还需要如何在Acumatica中迁移用户。

比方说,我们在旧AD上拥有用户johnsmith,我们需要将相同的用户和权限迁移到新AD(具有不同的域)。程序是什么?

我们还存在用户具有相同用户名的实例以及用户已更改的其他情况,例如johnsmith到jsmith。

我们希望避免从头开始重新创建用户并分配角色等。理想情况下,我们将能够映射用户。这可能吗? 在其他系统(例如SharePoint)中,有特定的脚本可以迁移用户。

1 个答案:

答案 0 :(得分:1)

我没有看到任何文档或有关如何执行此操作的现有脚本。就是说,这就是我要做的事情。

首先,您需要查看用户名格式。是user @ domain还是domain \ user?这些可以批量更新。如果您使用的是user @ domain,并且旧域在AD中列为UPN后缀,则无需更新用户名。

然后,您需要获取新AD帐户的SID并对其进行更新。如果域名已经准备好并且可以提前进行,那就更好了。

然后我将创建一个自定义流程屏幕,该屏幕将遍历每个用户并进行更新。

  • 将用户名替换为新的UserPrincipalName
  • 替换电子邮件地址
  • 连接到LDAP(或Powershell)并查询“映射的”用户名
  • 拉出用户的SID并更新当前用户的ExtRef字段

接下来,您将需要更新组/角色映射。

  • 从RoleActiveDirectory表中获取全部内容
  • 在旧域中搜索GroupID(SID)
  • 在新域中搜索具有相同SID的组
  • 使用SID更新GroupID

我测试了使用另一个SID更新一个组映射的SID并正确加载的情况。 SM201005上的UI动态加载组名和描述。

所有这些都可以预加载到Excel中,然后导入/替换,并且可能比编写代码从域中提取数据要容易得多,但有可能。我编写了许多应用程序来通过powershell或LDAP查询AD。

然后,我将进行测试和测试...构建一些测试域以进行切换。我不确定这些钩子是否在Acumatica中的任何其他位置,是否会在代码库中搜索任何其他引用,并可能与支持人员联系以验证可能钩入的其他位置。