Поделиться через


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

В этом примере задается название объекта SPWeb в нескольких строках, и контролируется частота удаления. Это пример расширенного использования назначений. Его рекомендуется использовать только разработчикам.

Параметры

-AssignmentCollection

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

При использовании параметра 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

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

Если этот параметр не используется, необходимо назначить выходные данные этого командлета переменной, а затем удалить объекты с помощью параметра 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