DirectorySearcher和PageSize可以有效查询整个林

时间:2018-02-06 13:42:21

标签: performance powershell active-directory page-size directorysearcher

首先,我没有安装Active Directory PowerShell模块,因此无法使用Get-AD*模块。因此我使用System.DirectoryServices.DirectorySearcher

我需要为每个以字符串开头的AD组查询整个林。我只需要组名和DN,所以我将查询GC://DC=company,DC=com

我的查询很大。它将返回超过100万条记录。所以我将使用System.DirectoryServices.DirectorySearcher.PageSize

我的理解是,System.DirectoryServices.DirectorySearcher.FindAll()会获得XX项,其中PageSizeX的值,然后自动获取下一个Start-Sleep -s 30个项目代码遍历返回的项目。

我的想法是在每个X项之后在我的循环中有一个FindAll。有没有更有效的方法来运行这种查询?例如,有没有办法告诉<GC://DC=company,DC=com>; (| (& (objectCategory=group) (objectClass=group) (name=prefix-*) ) (& (objectCategory=group) (objectClass=group) (name=prefix-*) ) ); name,distinguishedName; subtree 在每次调用之间停留这么多秒以获得更多数据?

我只是想找到最好的方法来制作如此大的查询而不会破坏我公司的网络。

如果重要,这就是我要查询的内容:

httpClient.DefaultRequestHeaders.Accept.Clear();

httpClient.DefaultRequestHeaders.Accept.Add(
    new MediaTypeWithQualityHeaderValue("application/vnd.pagseguro.com.br.v3+json"));

httpClient.DefaultRequestHeaders.Accept.Add(
    new MediaTypeWithQualityHeaderValue("charset=ISO-8859-1"));

0 个答案:

没有答案