Update-List
向包含对象集合的属性值中添加项并删除项。
语法
AddRemoveSet (默认值)
Update-List
[[-Property] <String>]
[-Add <Object[]>]
[-Remove <Object[]>]
[-InputObject <PSObject>]
[<CommonParameters>]
ReplaceSet
Update-List
[[-Property] <String>]
-Replace <Object[]>
[-InputObject <PSObject>]
[<CommonParameters>]
说明
Update-List cmdlet 将项添加到对象的属性值中并从中删除项,然后返回更新的对象。 此 cmdlet 专为包含对象集合的属性而设计。
Add 和 Remove 参数分别在集合中添加和移除各项。 Replace 参数替换整个集合。
如果未在命令中指定属性, 则 Update-List 将返回描述更新的对象,而不是更新对象。 可以将更新对象提交到更改对象的 cmdlet,例如 Set-* cmdlet。
仅当正在更新的属性支持 Update-List 使用的 IList 接口时,此 cmdlet 才有效。 此外,接受更新的任何 Set-* cmdlet 都必须支持 IList 接口。 随 Windows PowerShell 一起安装的核心 cmdlet 不支持此接口。 若要确定 cmdlet 是否支持 Update-List,请参阅 cmdlet 帮助主题。
示例
示例 1:在属性值中添加和删除项
PS C:\> Get-MailBox | Update-List -Property aliases -Add "A","B" -Remove "X","Y" | Set-MailBox
此命令添加 A 和 B,并从邮箱的 Aliases 属性中删除 X 和 Y。
该命令使用 Microsoft Exchange Server 中的 Get-Mailbox cmdlet 来获取邮箱。 管道作员将邮箱对象发送到 Update-List cmdlet。
Update-List 命令使用 Property 参数来指示正在更新邮箱的 Aliases 属性,并使用 Add 和 Remove 参数来指定要在集合中添加和删除的项目。 Aliases 属性满足 Update-List 的条件,因为它存储具有 Add 和 Remove 方法的 Microsoft .NET Framework 对象的集合。
Update-List cmdlet 返回更新的邮箱,该邮箱通过管道传输到更改邮箱的 Set-MailBox cmdlet。
示例 2:在变量的属性值中添加和删除项
PS C:\> $M = Get-MailBox
PS C:\> Update-List -InputObject $M -Property aliases -Add "A","B" -Remove "X", "Y" | Set-MailBox
此命令将 A 和 B 添加到邮箱的 Aliases 属性的值,并删除 X 和 Y。此命令与上一个命令的效果相同,尽管其格式略有不同。
该命令使用 Get-MailBox cmdlet 获取邮箱,并将邮箱保存在 $M 变量中。 此命令使用 Update-List 的 InputObject 参数来指定邮箱。 InputObject 的值是 $M 变量中的邮箱。 它使用 Property 参数指定 Aliases 属性,使用 Add 和 Remove 参数指定要添加到 Aliases 值和从 Aliases 值中删除的项目。
该命令使用管道运算符 (|) 将更新的邮箱对象发送到 Set-Mailbox cmdlet,从而更改邮箱。
示例 3:在属性值中添加和删除项
PS C:\> Get-MailBox | Set-MailBox -Alias (Update-List -Add "A", "B" -Remove "X","Y")
此命令将 A 和 B 添加到邮箱的 Aliases 属性的值,并删除 X 和 Y。此命令与前面的两个命令具有相同的效果,但它使用不同的过程来执行任务。
此命令不是在将邮箱发送到 Set-Mailbox 之前更新邮箱的 Aliases 属性,而是使用 Update-List 创建表示更改的对象。 然后,它将更改提交到 Set-Mailbox 的 Alias 参数。
该命令使用 Get-MailBox cmdlet 获取邮箱。 管道作员将邮箱对象发送到 Set-Mailbox cmdlet,该 cmdlet 会更改邮箱。
该命令使用 Set-Mailbox 的 Alias 参数来更改邮箱对象的 Aliases 属性。 Alias 参数的值是一个 Update-List 命令,用于创建表示更新的对象。 Update-List 命令括在括号中,以确保它在计算 Alias 参数的值之前运行。 Set-Mailbox 命令完成后,邮箱将更改。
示例 4:替换属性集合
PS C:\> Update-List -InputObject $A -Property aliases -Replace "A", "B" | Set-MailBox
此命令使用 Update-List 的 Replace 运算符将 $A 中对象的 Aliases 属性中的集合替换为新集合。
此命令使用 InputObject 参数,在本例中,等效于使用管道运算符将$A传递给 Update-List。
参数
-Add
指定要添加到集合中的属性值。 按集合中应显示的顺序输入值。
参数属性
| 类型: | Object[] |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
AddRemoveSet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-InputObject
指定要更新的对象。 您还可以通过管道将要更新的对象传递给 Update-List。
参数属性
| 类型: | PSObject |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Property
指定包含正在更新的集合的属性。 如果省略此参数, 则 Update-List 将返回表示更改的对象,而不是更改对象。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | 0 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Remove
指定要从集合中删除的属性值。
参数属性
| 类型: | Object[] |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
AddRemoveSet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Replace
指定新集合。 此参数会将原始集合中的所有项替换为由此参数指定的项。
参数属性
| 类型: | Object[] |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
ReplaceSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CommonParameters
此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。
输入
PSObject
您可以通过管道将要更新的对象传递给 Update-List。
输出
Objects or System.Management.Automation.PSListModifier
Update-List 返回更新的对象,或者返回表示更新作的对象。