Start-SPAssignment

Инициирует новое хранилище назначений.

Синтаксис

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

Описание

Командлет Start-SPAssignment правильно удаляет объекты, используемые с назначениями переменных.

При использовании объектов SPWeb, SPSite или SPSiteAdminsitration часто необходимы большие объемы памяти. Поэтому использование этих объектов или списков объектов в скриптах Windows PowerShell требует правильного управления памятью. По умолчанию все команды Get удаляют эти объекты сразу после окончания работы конвейера, но с помощью командлета SPAssignment можно назначать список объектов переменной и удалять объекты тогда, когда они уже не нужны. Можно также сделать так, чтобы объекты хранились ровно столько, сколько они нужны, даже при использовании нескольких итераций команд.

Существуют три уровня назначений.

-- Нет назначения — объект не назначается переменной и удаляется после каждой итерации команды.

-- Простое назначение — все объекты назначаются глобальному окнам назначения. Это осуществляется с помощью параметра Global. При использовании этого уровня все объекты назначаются глобальному хранилищу и удаляются при вызове командлета Stop-SPAssignment.

-- Расширенное назначение — объекты назначаются именованным хранилищам для удаления. Вы можете удалить объекты с помощью параметра Identity с командлетом Stop-SPAssignment .

Независимо от используемого уровня назначения все объекты удаляются при закрытии Windows PowerShell выполнения.

Сведения о разрешениях и актуальную информацию о Windows PowerShell для продуктов SharePoint см. в сетевой документации о командлетах SharePoint Server.

Примеры

--------------------------ПРИМЕР 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

This example sets the title of the SPWeb object in multiple lines and controls the rate of disposal. This is an advanced example. Only developers are advised to use it.

Параметры

-AssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

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

-Global

При использовании этого параметра все Stop-SPAssignment объекты назначаются времени существования скрипта и удаляются при вызове командлета.

Если этот параметр не используется, необходимо назначить выходные данные этого командлета переменной, а затем удалить объекты с помощью параметра Identity Stop-SPAssignment командлета.

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