临时成员到AD组

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

目前在X小时后从这些AD组中移除用户的过程是手动的。 我试图以某种方式自动化它。 但我想知道是否有任何原生的方式来处理这在AD 2003年内。写一个脚本(powershell / vbs)处理这个唯一的方法?

假设所有域控制器都是Windows Server 2003或更高版本,则可以在没有任何脚本的情况下使用本机Active Directory的dynamic对象function执行此操作。

假设一个用户账户“Bob”需要在“Accounting”组中24小时。

  • 创build一个“Bob 24小时计费”组,并在创build时指定24小时的entry-TTL (您希望组保留在Active Directory中的期限)。

  • 作为“会计”组的成员添加“鲍勃在会计24小时”

  • 添加“Bob”用户帐户作为“Bob 24小时会计”组中的成员

在“Bob”用户帐户的下一次login后,它将通过“Bob 24小时记帐”组的嵌套组成员身份进入“Accounting”组,成为“Accounting”组的成员。 在24小时结束时,所有的域控制器将垃圾收集“鲍勃在会计24小时”组和“鲍勃”将不再是“会计”的成员。

诀窍是非dynamic对象在创build后不能转换为dynamic。 但是,使用组嵌套,在这种情况下可以绕过这个限制。

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

您可以通过几种方式处理这些问题,但都不适用于AD:

  1. 写一个脚本,并把它放在任务调度器。 让它用当前列表查询networking上的某个文本文件或CSV文件。 让它在运行时删除不在该列表中的人员。

  2. 使用诸如System Center Orchestrator之类的东西来创build一个Runbook,以便将用户添加到该组中,并在X小时后自动将其删除。

  3. 使Outlook提醒手动带出人:)