Добавляет и удаляет элементы в значении свойства, содержащего коллекцию объектов.

Синтаксис

Update-List [-Add <Object[]>] [-Remove <Object[]>] [[-Property] <string>] [-InputObject <psobject>] [<CommonParameters>]

Update-List -Replace <Object[]> [[-Property] <string>] [-InputObject <psobject>] [<CommonParameters>]

Описание

Командлет Update-List добавляет и удаляет элементы в значении свойства объекта, а затем возвращает измененный объект. Этот командлет предназначен для использования со свойствами, которые содержат коллекции объектов.

Параметры Add и Remove позволяют добавлять и удалять отдельные элементы коллекции. Параметр Replace служит для замены всей коллекции.

Если в команде не указать свойство, то командлет Update-List вместо обновления объекта вернет объект, описывающий обновление. Объект обновления можно передавать командлетам, которые изменяют объекты, например командлетам Set-*.

Этот командлет работает только в том случае, если обновляемое свойство поддерживает интерфейс IList, используемый командлетом Update-List. Кроме того, интерфейс IList должны поддерживать все командлеты Set-*, принимающие обновление. Базовые командлеты, устанавливаемые вместе с Windows PowerShell, не поддерживают этого интерфейса. Чтобы определить, поддерживает ли командлет использование командлета Update-List, обратитесь к справке по соответствующему командлету.

Параметры

-Add <Object[]>

Задает значения свойств, которые необходимо добавить в коллекцию. Введите значения свойств в том порядке, в котором они должны располагаться в коллекции.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-InputObject <psobject>

Задает объекты для обновления. Кроме того, объекты для обновления можно передавать командлету Update-List по конвейеру.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByValue)

Принимать подстановочные знаки?

false

-Property <string>

Определяет свойство, которое содержит обновляемую коллекцию. Если опустить этот параметр, командлет Update-List вместо изменения объекта вернет объект, представляющий изменение.

Обязательно?

false

Позиция?

1

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Remove <Object[]>

Задает значения свойств, которые необходимо удалить из коллекции.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Replace <Object[]>

Задает новую коллекцию. Этот параметр заменяет все элементы в исходной коллекции новыми элементами, которые определяются этим параметром.

Обязательно?

true

Позиция?

named

Значение по умолчанию

нет

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

<CommonParameters>

Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.

Ввод и вывод

Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.

Входные данные

System.Management.Automation.PSObject

Объекты для обновления можно передавать командлету Update-List по конвейеру.

Выходные данные

Objects или System.Management.Automation.PSListModifier

Командлет Update-List возвращает обновленный объект или объект, который представляет обновление.

Пример 1

C:\PS>get-mailbox | update-list -Property aliases -Add "A","B" -Remove "X","Y" | set-mailbox

Описание
-----------
Эта команда добавляет A и B и удаляет X и Y из свойства Aliases почтового ящика. 

Команда использует для получения почтового ящика сервера Microsoft Exchange Server командлет Get-MailBox. Оператор конвейера передает объект почтового ящика командлету Update-List. 

Команда Update-List использует параметр Property, чтобы показать, что обновляется свойство Aliases, и параметры Add и Remove, чтобы задать элементы, которые добавляются в коллекцию и удаляются из нее. Свойство Aliases удовлетворяет условиям применения командлета Update-List, поскольку оно содержит коллекцию объектов Microsoft .NET Framework и имеет методы Add и Remove.

Командлет Update-List возвращает обновленный почтовый ящик, который по конвейеру передается командлету Set-MailBox, изменяющему почтовый ящик.

Дополнительные сведения о командлете Get-Mailbox см. в разделе http://go.microsoft.com/fwlink/?LinkId=111536.






Пример 2

C:\PS>$m = get-mailbox

C:\PS> update-list -InputObject $m -Property aliases -Add "A","B" -Remove "X", "Y" | set-mailbox

Описание
-----------
Эта команда добавляет A и B в значение свойства Aliases почтового ящика и удаляет оттуда элементы X и Y. Результат выполнения этой команды совпадает с результатом предыдущей команды, однако она имеет несколько иной формат.

Команда с помощью командлета Get-MailBox получает почтовый ящик и сохраняет его в переменной $m. Для задания почтового ящика эта команда использует параметр InputObject командлета Update-List. Значением параметра InputObject является почтовый ящик из переменной $m. Команда использует параметр Property, чтобы показать, что обновляется свойство Aliases, и параметры Add и Remove, чтобы задать элементы, которые добавляются в свойство Aliases и удаляются из него.

Команда использует оператор (|), чтобы передать обновленный объект почтового ящика командлету Set-Mailbox, изменяющему почтовый ящик.






Пример 3

C:\PS>get-mailbox | set-mailbox -alias (update-list -Add "A", "B" -Remove "X","Y")

Описание
-----------
Эта команда добавляет A и B в значение свойства Aliases почтового ящика и удаляет оттуда элементы X и Y. Результат выполнения этой команды совпадает с результатом двух предыдущих команд, однако она использует для решения этой задачи другую процедуру. 

Вместо обновления свойства Aliases почтового ящика перед его отправкой командлету Set-Mailbox эта команда использует командлет Update-List, чтобы создать объект, представляющий изменение. Затем она передает изменение параметра Alias командлету Set-Mailbox.

Команда использует для получения почтового ящика командлет Get-MailBox. С помощью оператора конвейера объект почтового ящика передается командлету Set-Mailbox, изменяющему почтовые ящики. 

Для изменения свойства Aliases объекта почтового ящика команда использует параметр Alias командлета Set-Mailbox. Значением параметра Alias является команда Update-List, создающая объект, который представляет обновление. Команда Update-List заключена в круглые скобки, чтобы обеспечить ее выполнение до определения значения параметра Alias. Почтовый ящик изменяется после завершения работы команды Set-Mailbox.






Пример 4

C:\PS>update-list -InputObject $a -Property aliases -replace "A", "B" | set-mailbox

Описание
-----------
Эта команда использует оператор Replace командлета Update-List, чтобы заменить коллекцию в свойстве Aliases объекта в переменной $a новой коллекцией.

Эта команда использует параметр InputObject, который в данном случае эквивалентен использованию конвейера для передачи переменной $a командлету Update-List.






См. также