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

Mat*_*son 5 automation active-directory ldap

既然SFU 和 IdMU 已被 Microsoft 视为已弃用且在 Server 2016 中不可用,您如何以可扩展且可靠的方式自动填充和管理 Active Directory 中的 RFC2307 属性?

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

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

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

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

Rya*_*ger 2

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

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

我不会发布选项 1 的产品推荐,因为它违反了网站规则,而且我相信您可以对此进行自己的研究。但让我描述一下我们如何在当前环境中使用自行编写的工具来做到这一点。

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

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

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

归根结底,AD 只是一个巨大的 LDAP 服务器,有很多方法可以通过编程方式与其交互。