Добавляет и удаляет элементы в значении свойства, содержащего коллекцию объектов.
Синтаксис
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 см. в разделе https://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.
См. также