如何在 Active Directory 中自动化 RFC2307 属性?

如何在 Active Directory 中自动化 RFC2307 属性?

既然SFU 和 IdMU 已被 Microsoft 弃用,在 Server 2016 中将不再可用

我的目标是在 Active Directory 中创建用户或组时自动设置、uidNumbergidNumberunixHomeDirectoryloginShell

当将用户添加到组时,还应将用户添加到memberUid该组的属性中。

我曾考虑过使用自制的 Powershell 或 VB 脚本,但当在具有高可靠性要求的生产系统中由多个管理员处理数千名用户时,它感觉可扩展性不强。

我觉得这应该是一个常见的问题,应该有好的解决方案,但我找不到。

答案1

根据我的经验,有两种方法可以实现这一点。

  1. 购买一款可以满足您开箱即用需求并成为基于 AD 的身份管理解决方案的解决方案。
  2. 写你自己的。

我不会发布针对选项 1 的产品推荐,因为这违反了网站规则,我相信你可以自己做研究那就这样吧。但是让我描述一下我们如何在当前环境中使用自编工具来实现这一点。

基本前提是您应该停止手动创建帐户,让您的工具为您完成工作。特别是使用您编写的工具,您可以硬编码并执行有关您的特定环境(用户位置、名称格式、自动组成员身份等)的业务规则,而其他工具不可能知道这些规则。这样做的副作用是让您的工具更易于使用。而且,从 ADUC 手动创建用户的人越少,您的环境就越一致、越可靠。

在我们的环境中,所有与人员相关的新身份都由上游的 HR 拥有的系统自动配置(和取消配置)。但这只处理基本的 GAL 相关元数据(姓名、电子邮件、电话等)。我们还在 PDC 仿真器 DC 上运行一个 powershell 脚本,该脚本每 5 分钟运行一次,查找具有不完整 RFC2307 配置文件的帐户并根据需要更新它们。它还会更新某些组子集的 GID。UID 和 GID 是根据从帐户的 SID 计算出来的算法生成的。HR 系统也可以配置 RFC2307 配置文件,但当时让 AD 团队拥有该数据/流程的工作量较少。

此外,我们还有一个自主开发的网页,用于配置“非人力”账户,如服务账户、共享账户、测试账户等。除了细粒度的密码策略、用户名格式约定等之外,每种类型的账户都会自动配置适当的 RFC2307 属性。

从根本上讲,AD 只是一个巨大的 LDAP 服务器,并且有很多方法可以通过编程方式与其进行交互。

相关内容