适用于: SharePoint Foundation 2010, SharePoint Server 2010
上一次修改主题: 2015-03-09
初始化新的分配存储区。
Syntax
Start-SPAssignment [-AssignmentCollection <SPAssignmentCollection>] [-Global <SwitchParameter>]
详细说明
Start-SPAssignment cmdlet 正确地释放变量赋值所使用的对象。
在使用 SPWeb、SPSite 或 SPSiteAdminsitration 对象时,通常需要占用大量内存。因此,在 Windows PowerShell 脚本中使用这些对象或这些对象的列表时,需要对内存进行适当的管理。默认情况下,所有 Get 命令都会在管道结束后立即释放这些对象,但使用 SPAssignment,您可以将对象列表赋值给变量并在不再需要对象时释放对象。即使是在多次迭代命令期间,您仍可以确保根据需要来保留对象。
分配分为三个级别:
-- 不分配 — 对象不赋值给变量并在每次迭代命令之后得到释放。
-- 简单分配 — 所有对象均分配到全局分配存储区。这通过使用 Global 参数来实现。在使用此级别时,所有对象均分配到全局存储区并在调用 Stop-SPAssignment cmdlet 之后得到释放。
-- 高级分配 — 对象分配到命名的存储区以进行释放。您可以通过将 Identity 参数与 Stop-SPAssignment cmdlet 一起使用来释放对象。
备注
无论使用哪种分配级别,所有对象都将在 PowerShell 运行空间关闭后得到释放。
有关 Windows PowerShell for SharePoint 产品的权限和最新信息,请参阅联机文档 (https://go.microsoft.com/fwlink/?LinkId=163185)。
Parameters
| 参数 | 必需 | 类型 | 说明 |
|---|---|---|---|
AssignmentCollection |
可选 |
Microsoft.SharePoint.PowerShell.SPAssignmentCollection |
管理对象以便正确进行处理。使用 SPWeb 或 SPSite 等对象可能会耗用大量内存,而且在 Windows PowerShell 脚本中使用这些对象需要正确管理内存。通过使用 SPAssignment 对象,可以将对象分配给变量,然后在不需要这些对象时对它们进行处理,以释放内存。在使用 SPWeb、SPSite 或 SPSiteAdministration 对象时,如果不使用分配集合或 Global 参数,则会自动处理这些对象。 Note
在使用 Global 参数时,所有对象均包含在全局存储中。如果未立即使用对象,或未通过使用 Stop-SPAssignment 命令来处理对象,则可能会发生内存不足的情况。
|
Global |
可选 |
System.Management.Automation.SwitchParameter |
如果使用此参数,则所有对象都将分配到脚本的生存期并在调用 Stop-SPAssignment cmdlet 后得到释放。 如果不使用此参数,则必须将此 cmdlet 的输出赋值给变量,然后使用 Stop-SPAssignment cmdlet 的 Identity 参数释放对象。 |
输入类型
返回类型
SPAssignmentCollection
错误
| 错误 | 说明 |
|---|---|
Exceptions
| 异常 | 说明 |
|---|---|
Example
------------------示例 1-----------------------
Start-SPAssignment -global
$w = Get-SPWeb http://MyWeb
$w | Set-SPWeb -title "Accounting"
Stop-SPAssignment -global
此示例使用简单分配。尽管简单分配使用起来很方便,但建议不要在启用简单分配的情况下运行循环访问多个 SPSite 或 SPWeb 对象的命令。在尝试迭代多个对象之前,请确保 Stop-SPAssignment 处于运行状态。
------------------示例 2-----------------------
$gc = Start-SPAssignment
$web = $gc | Get-SPWeb http://MyWeb
$web | Set-SPWeb -title "Accounting"
Stop-SPAssignment -Identity $gc
此示例设置多个行中 SPWeb 对象的标题,并且控制释放对象的速度。这是一个高级示例。建议仅开发人员使用它。
Note