AD组的临时成员


12

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

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

Answers:


23

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

假设一个用户帐户“ Bob”需要在“帐户”组中保留24小时。

  • 在创建时创建一个“ 24小时记帐鲍勃”组,并指定entry-TTL24小时(您希望该组保留在Active Directory中的持续时间)。

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

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

在“ Bob”用户帐户的下一次登录后,它将通过“ Bob in Accounting 24 Hours”组的嵌套组成员身份成为“ Accounting”组的“ Accounting”组成员。在24小时结束时,所有域控制器都将对“ 24小时计费中的鲍勃”组进行垃圾回收,并且“鲍勃”将不再是“会计”的成员。

诀窍是非动态对象创建后无法转换为动态对象。但是,在这种情况下,使用组嵌套可以解决该限制。

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


5
天哪,这是我不知道的事情。已经十岁了。
mfinni

1
@mfinni-我从未在生产中使用过它。不过,它的工作方式与广告宣传完全一样。很整洁吧?
埃文·安德森


2
@EvanAnderson你真是个坏蛋。
Ryan Ries 2013年

2
你们太客气了。有一个在这个博客上的功能的一些真正好的背景(家伙还真是AD badass--我只是使用的产品很多):blogs.chrisse.se/2012/11/28/...
埃文安德森

6

您可以通过以下几种方法来处理此问题,而这都不是AD固有的:

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

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

  3. 发出Outlook提醒以手动将人员带出:)


1
仅供参考-我们使用Quest的ActiveRoles服务器来协助广告管理。它具有内置功能,并添加了一些辅助工作流程的工具。
uSlackr

我认为使用选项1并使用当前用户的文件创建计划的PowerShell脚本是解决此问题的好方法。
jer.salamon

5
您无法抗拒动态对象的警笛声……动态对象!
埃文·安德森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.