我的目标是在Active Directory中创建用户或组时自动设置uidNumber,gidNumber,unixHomeDirectory和loginShell.
将用户添加到组时,还应将用户添加到该组的memberUid属性中.
我考虑过使用自制的Powershell或VB脚本,但是当处理具有高可靠性要求的生产系统中的数千名用户的多个管理员使用它时,它感觉不太可扩展.
我觉得这应该是一个普遍的问题,并且应该存在很好的解决方案,但我找不到任何解决方案.
根据我的经验,我看到它有两种方式.>购买开箱即用的解决方案,成为AD上的身份管理解决方案.
>写你自己的.
我将不会发布选项1的产品推荐,因为它违反了网站规则,我相信你可以自己做research.但是,让我用自编工具描述我们在当前环境中如何做到这一点.
基本前提是您应该手动停止创建帐户,让您的工具为您完成工作.特别是对于您编写的工具,您可以对其他工具无法了解的特定环境(用户位置,名称格式,自动组成员资格等)进行硬编码和实施业务规则.这有使您的工具更容易使用的副作用.人们从ADUC手动创建用户的次数越少,您的环境就越稳定可靠.
在我们的环境中,所有与人相关的新身份都由上游的人力资源所有系统自动配置(和取消配置).但这只涉及基本的GAL相关元数据(名称,电子邮件,电话等).我们还有一个在PDC模拟器DC上运行的powershell脚本,每隔5分钟运行一次,查找具有不完整RFC2307配置文件的帐户,并根据需要进行更新.它还会更新某些组子集的GID. UID和GID是基于从帐户的SID计算它们的算法生成的.人力资源系统也可以提供RFC2307配置文件,但当时让AD团队拥有该数据/流程的工作量较少.
此外,我们还有一个本土网页,用于配置“非人”帐户,如服务帐户,共享帐户,测试帐户等.除了细粒度的密码策略之外,每种类型的帐户都会自动配置适当的RFC2307属性. ,用户名格式约定等
在一天结束时,AD只是一个巨大的LDAP服务器,有很多方法可以通过编程方式与它进行交互.