Answers:
假设所有域控制器都是Windows Server 2003或更高版本,则可以使用本机Active Directory的动态对象功能来执行此操作,而无需编写任何脚本。
假设一个用户帐户“ Bob”需要在“帐户”组中保留24小时。
在创建时创建一个“ 24小时记帐鲍勃”组,并指定entry-TTL
24小时(您希望该组保留在Active Directory中的持续时间)。
将“ 24小时会计中的鲍勃”添加为“会计”组的成员
将“ Bob”用户帐户添加为“ Bob in Accounting 24 Hours”组的成员
在“ Bob”用户帐户的下一次登录后,它将通过“ Bob in Accounting 24 Hours”组的嵌套组成员身份成为“ Accounting”组的“ Accounting”组成员。在24小时结束时,所有域控制器都将对“ 24小时计费中的鲍勃”组进行垃圾回收,并且“鲍勃”将不再是“会计”的成员。
诀窍是非动态对象创建后无法转换为动态对象。但是,在这种情况下,使用组嵌套可以解决该限制。
您需要使用“ Active Directory用户和计算机”以外的工具来创建组,因为您需要在创建组时进行设置entry-TTL
。该博客条目中的脚本可能是一个起点(它是为创建User对象而构建的),或者,您也可以使用ldifde
或csvde
进行创建。
您可以通过以下几种方法来处理此问题,而这都不是AD固有的:
编写脚本并将其放入任务计划程序中。让它使用当前列表查询网络上某处的文本文件或CSV。让它在运行时删除不在该列表中的人员。
使用诸如System Center Orchestrator之类的东西来创建运行簿,以将用户添加到组中,并在X个小时后自动将其删除。
发出Outlook提醒以手动将人员带出:)