当我浏览System.DirectoryServices.DirectorySearcher.FindAll()
中的new-object
值并将其初始化为$list
变量时,我注意到在经过50,000或更多后,我的内存开始变得非常糟糕。
为了解决这个问题,我将其指定为一个进程,但我希望以10,000为增量进行处理。要做到这一点,我需要知道如何传递A SearchResultCollection object
作为参数,所以我需要知道它的演员类型......
注意:根据https://msdn.microsoft.com/en-us/library/system.directoryservices.directorysearcher.findall(v=vs.110).aspx,类型为$domain = "LDAP://some.example.com"
[string[]]$properties = "company" ,"sAMAccountName", "displayName", "name"
$dn = New-Object System.DirectoryServices.DirectoryEntry($domain)
$ds = New-Object System.DirectoryServices.DirectorySearcher($dn)
$ds.Filter = '(&(objectCategory=person)(objectClass=user))'
$ds.PropertiesToLoad.AddRange($properties)
[?]$list = $ds.FindAll()
Powershell -command {
Param ([string[]]$properties, [?]$list)
#do stuff with $list
} -args $properties $list
。
示例代码:
[?]
[?]$list = $ds.FindAll()
对于powershell会是什么<div>
?
答案 0 :(得分:0)
如果您受到影响,我建议创建工作。
这里我正在为1000个对象做这个
它会从0到1000
1001至2000,依此类推。
$("span.js-layer-icon").popover({ trigger: "hover" });
这将输出每个作业的详细信息,
执行Receive-Job以获取每项作业的输出。
更多about_Jobs here https://technet.microsoft.com/en-us/library/hh847783.aspx
最好的问候,
kvprasoon