Active Directory – 根据组成员资格dynamic设置用户属性?

是否有可能根据组中的成员身份dynamic设置用户属性,还是必须手动更改所有现有的用户,并将该属性设置为新帐户的模板?

如果JohnPet Owners成员,那么把John的( hasPets )属性设置为hasPets

(非常具体的)问题在于:

我们正在使用Sonicwall(现在的DELL)SRA设备作为与AD集成的VPN解决scheme。 设备支持通过电子邮件发送一次性密码,但只支持两种方式指定其使用的电子邮件地址的来源:

  1. 让它从用户的用户名和域中dynamic地组装用户login到设备( user@domain )的地址。
  2. 指定要使用的AD属性,该属性保存电子邮件地址,该电子邮件地址可以是一些预先指定的(例如mailpager等)或自定义属性之一。

在pipe道的某个地方,这些邮件最终被处理,并且OTP通过SMS被发送给尝试login到系统的用户。

之前我们使用了选项1)并让设备将OTP电子邮件发送到user@domain但是升级到新的设备模型和我们这边的后端更改应该发送到同一个电子邮件地址。

不可能的是在设备中直接设置一个全球电子邮件地址,所以我们似乎必须使用2)并为这个新的电子邮件地址设置一个AD属性。 由于VPN访问绑定到AD组,我希望这可以dynamic地完成,只有属于这些组的成员的用户,或者至less为域中的所有用户。

我能想到的唯一方法是运行一个脚本来定期扫描您的Active Directory,并根据帐户的组成员资格更新您感兴趣的属性。

使用PowerShell相对容易,您可以将其作为计划任务运行,以保持最新状态。

脚本专家有一个非常stream行的博客条目 – 使用PowerShell AD提供程序修改用户属性 。 用它来形成你的脚本的核心,在它周围打一些逻辑,你就可以走了。

在他的示例中,他正在摆弄physicaldeliveryofficename属性,并使用Set-ItemProperty cmdlet与Filter结合,以在Charlotte和Raleigh之间切换该属性的值。 您可能不会采取这种方法,而只是使用Set-ItemProperty cmdlet设置您的Sonicwall / Dell检查的属性,这取决于用户所在的组。

 Set-ItemProperty -Filter "physicaldeliveryofficename=Raleigh" -Path * -Name physicaldeliveryofficename -Value Charlotte 

我不相信有这样的事情。 你能描述一下你真正要解决的问题吗? 如果我们能看到大局,这可能更适合您的需求; 你的问题可能还有另外一种方法,而不是你已经决定的方法。

我目前正在处理相同或类似的情况。 我想根据域组成员身份dynamic修改域用户属性(设置修复string)。 我正在寻找“积极的angular色”,但似乎只是在反过来 – 基于属性设置成员身份 – 或者我还没有意识到如何去做。

现在唯一真正想到的解决scheme是设置一个脚本,它可以定期在特定OU中运行,并根据成员身份修改域用户属性。 还没有任何这样的脚本,因为我仍然希望能够dynamic完成我还没有实现的方法