我想创build一个dynamic组与来自我的Active Directory中的特定OU的用户。 我可以使用Exchange Dynamic Distribution List完美地完成这项工作,但是Ex DDL只适用于邮件。
有什么办法来创build这个? 我发现了一些使用System Center来处理这个问题的指南,但System Center不是一个选项。
提前致谢,
在Active Directory中没有dynamic安全组,只有dynamic通讯组。
要做到这一点,我认为最可行的select是让Powershell脚本确定谁在给定的OU中,并相应地更新安全组,如下所示:
Import-Module ActiveDirectory $groupname = PseudoDynamicGroup $users = Get-ADUser -Filter * -SearchBase "ou=desiredUsers,dc=domain,dc=tld" foreach($user in $users) { Add-ADGroupMember -Identity $groupname -Member $user.samaccountname -ErrorAction SilentlyContinue } $members = Get-ADGroupMember -Identity $groupname foreach($member in $members) { if($member.distinguishedname -notlike "*ou=desiredUsers,dc=domain,dc=tld*") { Remove-ADGroupMember -Identity $groupname -Member $member.samaccountname } }
我正在回答我自己的问题。 有了Mathias的PowerShell思想,我在互联网上发现了这个:
https://github.com/davegreen/shadowGroupSync
作者的博客包含有关该工具的devise和动机的其他信息。
这可以用Adaxes完成。 从技术上讲,一旦用户更新/移动,它将dynamic更新组成员资格。 以下是一个如何根据Department属性自动维护组成员身份的示例,但是很容易修改它以基于OU进行相同的操作。 http://www.adaxes.com/tutorials_AutomatingDailyTasks_AddUsersToGroupsByDepartment.htm
我也在寻找在Active Directory中创builddynamic安全组的方法,并得出Mathias的结论。 我的解决scheme并不像他那样优雅,我使用预定的powershell脚本从组中删除所有用户,然后用OU中的用户填充它们。 另外,我确保将子OU组添加到它所适合的父OU安全组中。
import-module ActiveDirectory Get-ADGroupMember OU_GroupName | % { Remove-ADGroupMember 'OU_GroupName' -Members $_ -Confirm:$false} Get-ADUser -SearchBase 'OU=OUName,OU=ParentOUName,DC=DomainName,DC=TopDomainName' -Searchscope 1 -Filter * | % { Add-ADGroupMember 'OU_GroupName' -Members $_ } Add-ADGroupMember -Identity "OU_ParentName" -Members "OU_ChildOneName", "OU_ChildTwoName", "OU_ChildThreeName"
不知道这是否能在一家大公司中很好地发挥作用,但是这个脚本只在我们的300个用户公司中使用了几分钟。
最简单的方法是使用DynamicGroup。 http://www.firstattribute.com/en/active-directory/ad-automation/dynamic-groups/
从Novell迁移到Active Directory后,我们在各种环境中运行它。
这是一个自动创buildOU组,部门组等的软件。 只需创buildfilter就可以了。