Start-SPAssignment

初始化新的分配存储区。

语法

Start-SPAssignment
     [-AssignmentCollection <SPAssignmentCollection>]
     [-Global]
     [<CommonParameters>]

说明

cmdlet Start-SPAssignment 正确释放与变量赋值一起使用的对象。

在使用 SPWeb、SPSite 或 SPSiteAdminsitration 对象时,通常需要占用大量内存。 因此,在Windows PowerShell脚本中使用这些对象或这些对象的列表需要适当的内存管理。 默认情况下,所有 Get 命令都会在管道结束后立即释放这些对象,但使用 SPAssignment,您可以将对象列表赋值给变量并在不再需要对象时释放对象。 即使是在多次迭代命令期间,您仍可以确保根据需要来保留对象。

分配分为三个级别:

-- 无赋值 -- 对象不会分配给变量,并且会在每次迭代命令后释放该对象。

-- 简单赋值 -- 所有对象都分配给全局分配存储区。 这通过使用 Global 参数来实现。 在使用此级别时,所有对象均分配到全局存储区并在调用 Stop-SPAssignment cmdlet 之后得到释放。

-- 高级分配 -- 将对象分配到命名存储以便处置。 可以通过将 Identity 参数与 cmdlet 配合使用 Stop-SPAssignment 来释放对象。

无论使用的分配级别如何,在关闭Windows PowerShell运行空间时,所有对象都会被释放。

有关适用于 SharePoint 产品的 Windows PowerShell 的权限和最新信息,请参阅 SharePoint Server cmdlet

示例

------------------示例 1-----------------------

Start-SPAssignment -global
$w = Get-SPWeb https://MyWeb
$w | Set-SPWeb -title "Accounting"
Stop-SPAssignment -global

此示例使用简单分配。 尽管简单分配使用起来很方便,但最好不要在启用简单分配的情况下运行循环访问多个 SPSite 或 SPWeb 对象的命令。 在尝试对多个对象进行任何迭代之前,请确保运行 Stop-SPAssignment

------------------示例 2-----------------------

$gc = Start-SPAssignment
$web = $gc | Get-SPWeb https://MyWeb
$web | Set-SPWeb -title "Accounting"
Stop-SPAssignment -SemiGlobal $gc

此示例设置多个行中 SPWeb 对象的标题,并且控制释放对象的速度。 这是一个高级示例。 建议仅开发人员使用它。

参数

-AssignmentCollection

管理对象以便正确进行处理。 使用 SPWeb 或 SPSite 等对象可能会耗用大量内存,而且在 Windows PowerShell 脚本中使用这些对象需要正确管理内存。 通过使用 SPAssignment 对象,可以将对象分配给变量,然后在不需要这些对象时对它们进行处理,以释放内存。 在使用 SPWeb、SPSite 或 SPSiteAdministration 对象时,如果不使用分配集合或 Global 参数,则会自动处理这些对象。

使用全局参数时,所有对象均包含在全局存储中。 如果未立即使用对象,或未通过使用 Stop-SPAssignment 命令来处理对象,则可能会发生内存不足的情况。

Type:SPAssignmentCollection
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False
Applies to:SharePoint Server Subscription Edition

-Global

如果使用此参数,则所有对象都分配给脚本的生存期,并在调用 cmdlet 时 Stop-SPAssignment 被释放。

如果不使用此参数,则必须将此 cmdlet 的输出分配给变量,然后使用 cmdlet 的 Identity 参数 Stop-SPAssignment 释放对象。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:SharePoint Server Subscription Edition