扩展System.DirectoryServices.DirectoryEntry的大小限制

时间:2018-04-23 11:01:35

标签: powershell active-directory

tl; dr; 如何在修改AD群时克服1500名成员的System.DirectoryServices.DirectoryEntry大小限制?

在过去,我制作了一个powershell脚本,它基本上扫描(现在超过)50个AD成员位置,并将它们全部添加到一个公共组。完整文档和来源:http://fsteff.blogspot.co.uk/2015/10/adldap-user-directories-setup-in.html

我使用以下对象来保存该组的所有成员:

$oGroup = New-Object -TypeName System.DirectoryServices.DirectoryEntry -ArgumentList "$LDAP/$GroupDN", $sUser, $sPass

并使用以下两个命令首先添加新成员,然后删除过期成员:

$oGroup.Invoke("add", "$LDAP/$userDN")
$oGroup.Invoke("remove","$LDAP/$Member")

搜索完成后,我使用以下命令将更改提交到AD:

$oGroup.CommitChanges()
$oGroup.RefreshCache()
$oGroup.Close()

这一切都正常,但我现在发现System.DirectoryServices.DirectoryEntry有一个大小限制,将大小限制为1500个成员

我一直在网上搜索,并且在阅读小组时找到了几个选项来克服大小限制,使用各种方法来分组日期。但是现在可以在这种情况下使用它们,因为我需要创建并提交给一个拥有超过1500名成员的组。

高度赞赏解决方案的建议或指示。


注1:是的我可以交换'添加'的顺序。并且'删除',或许保存一些条目,但我缺少百分之百的成员,所以它不够。)

0 个答案:

没有答案