此脚本片段正在访问函数内的 SharePoint 网站 (web)。它创建了一个 SPWeb 对象,该对象应在函数结束时被释放以避免内存泄漏。通常处理对象的方式类似于$web.dispose()
. 在这种情况下,SPWeb 对象在管道中创建和使用,但没有名称。
这是代码:
function foobar {
$x = Get-SPWeb -Identity "http://mylocalsite/Sites/test1/test2" |
ForEach-Object {$_.Lists | Where {$_.Title -EQ "someLibrary"} |
Select ID }
}
我怀疑 SPWeb 对象没有在管道结束时自动处理并导致内存泄漏。
如何处置在管道中创建的对象?我什至需要吗?
仅供参考:$x
没有名为“Dispose”的方法,因此$x.Dispose()
不起作用。