Update-List
在包含对象集合的属性值中添加和删除项。
语法
Update-List
[-Add <Object[]>]
[-Remove <Object[]>]
[-InputObject <PSObject>]
[[-Property] <String>]
[<CommonParameters>]
Update-List
-Replace <Object[]>
[-InputObject <PSObject>]
[[-Property] <String>]
[<CommonParameters>]
说明
Update-List cmdlet 向 对象的属性值添加项并从中删除项,然后返回更新的对象。 此 cmdlet 旨在用于包含对象集合的属性。
“添加”和“删除”参数将各个项添加到集合中,并从集合中删除它们。 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
此命令在邮箱的 Aliases 属性中添加 A 和 B 并删除 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
此命令在邮箱的 Aliases 属性中添加 A 和 B 并删除 X 和 Y。此命令与上一个命令的效果相同,尽管其格式略有不同。
命令使用 Get-MailBox cmdlet 获取邮箱,并将邮箱保存在 $M 变量中。 此命令使用 Update-List 的 InputObject 参数指定邮箱。 InputObject 的值是 $M 变量中的邮箱。 它使用 Property 参数指定 Aliases 属性和 Add 和 Remove 参数来指定要添加到 Aliases 值和从值中删除的项。
命令使用管道运算符 (|) 将更新的邮箱对象发送到 Set-Mailbox cmdlet,这会更改邮箱。
示例 3:在属性值中添加和删除项
PS C:\> Get-MailBox | Set-MailBox -Alias (Update-List -Add "A", "B" -Remove "X","Y")
此命令在邮箱的 Aliases 属性中添加 A 和 B 并删除 X 和 Y。此命令与前两个命令的效果相同,但是它采用不同的过程来执行任务。
此命令使用 Update-List 创建表示更改的对象,而不是在将邮箱发送到 Set-Mailbox 之前更新邮箱的 Aliases 属性。 然后,它将更改提交到 Set-Mailbox 的 Alias 参数。
命令使用 Get-MailBox cmdlet 获取邮箱。 管道操作员将邮箱对象发送到 Set-Mailbox 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
指定要添加到集合中的属性值。 按照值应该在集合中出现的顺序输入值。
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
指定要更新的对象。 还可以通过管道将对象更新到 Update-List。
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Property
指定包含正在更新的集合的属性。 如果省略此参数, Update-List 将返回表示更改的对象,而不是更改对象。
Type: | String |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Remove
指定要从集合中删除的属性值。
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Replace
指定新集合。 此参数会将原始集合中的所有项替换为由此参数指定的项。
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
输入
可以通过管道将要更新的对象传递给 Update-List。
输出
Objects or System.Management.Automation.PSListModifier
Update-List 返回更新的对象,或返回表示更新操作的对象。