临时加入 AD 组

临时加入 AD 组

我们限制整个组织内 exe 的运行。但根据理由和批准,我们会将用户添加到(特定)AD 组 24 小时。

目前,在 X 小时后从这些 AD 组中删除用户的过程是手动的。我正在尝试以某种方式使其自动化。但我想知道在 AD 2003 中是否有任何本机方法可以处理此问题。编写脚本(powershell/vbs)是处理此问题的唯一方法吗?

答案1

假设所有域控制器都是 Windows Server 2003 或更高版本使用本机 Active Directory 执行此操作动态对象无需任何脚本即可实现功能。

假设用户帐户“Bob”需要属于“会计”组 24 小时。

  • 创建一个“Bob in Accounting 24 Hours”组并指定entry-TTL在创建时,保留 24 小时(您希望组在 Active Directory 中保留的时间)。

  • 将“会计 24 小时的 Bob”添加为“会计”组的成员

  • 将“Bob”用户帐户添加为“Bob in Accounting 24 Hours”组的成员

在“Bob”用户帐户下次登录时,它将通过“Bob in Accounting 24 Hours”组嵌套组成员身份进入“Accounting”组,成为“Accounting”组的成员。24 小时后,所有域控制器将对“Bob in Accounting 24 Hours”组进行垃圾收集,并且“Bob”将不再是“Accounting”的成员。

诀窍在于非动态对象在创建后无法转换为动态对象。不过,使用组嵌套可以解决此限制。

您需要使用“Active Directory 用户和计算机”以外的工具来创建组,因为您需要entry-TTL在创建组时进行设置。此博客文章中的脚本可能是一个起点(它是为创建用户对象而构建的),或者,您也可以使用ldifdecsvde来进行创建。

答案2

您可以通过几种方式来处理此问题,但没有一种是 AD 原生的:

  1. 编写一个脚本并将其放入任务计划程序中。让它使用当前列表在网络上的某个文本文件或 CSV 中查询。让它在运行时删除不在该列表中的人。

  2. 使用 System Center Orchestrator 之类的工具来创建运行手册,将用户添加到组中,并在 X 小时后自动将其删除。

  3. 制作一个 Outlook 提醒,手动将人员移除:)

相关内容