【发布时间】:2011-01-01 06:34:44
【问题描述】:
有时我们需要在 SharePoint 中执行小型管理任务。一个简单的 PowerShell 脚本是一个非常好的工具。例如,这样的脚本可以枚举列表的事件处理程序:
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$site = new-object Microsoft.SharePoint.SPSite($args[0])
$site.RootWeb.Lists["MyList"].EventReceivers > C:\MyListHandlers.txt
众所周知,SPSite 和SPWeb 这样的对象在调用后必须是Dispose()-d,否则会发生内存泄漏。最好是打电话
$site.RootWeb.dispose()
$site.dispose()
在此脚本的末尾。但是,如果这是一个只运行一次的 Powershell 脚本,并且我们知道 PowerShell 在执行后会清理 - 不调用 dispose() 是不是很糟糕?
所以,我的问题是 - 如果有时我运行这样的脚本会不会有危险?它会影响 SharePoint 场(或我运行脚本的服务器)的整体稳定性吗?
【问题讨论】:
-
很棒的工具,但它闻起来像 Perl,让我望而却步;)
-
这是我的第一印象,但它允许使用任何 .net 类而无需编译等。
标签: powershell sharepoint sharepoint-2007 dispose