在包含物件集合的屬性值中新增及移除項目。

語法

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

Update-List -Replace <Object[]> [[-Property] <string>] [-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 的說明主題。

參數

-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>

這個 Cmdlet 支援一般參數:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。如需詳細資訊,請參閱 about_Commonparameters.

輸入和輸出

輸入型別是可經由管道輸出至 Cmdlet 的物件型別。傳回型別則是 Cmdlet 所傳回的物件型別。

輸入

System.Management.Automation.PSObject

您可經由管道將要更新的物件輸出至 Update-List。

輸出

物件或 System.Management.Automation.PSListModifier

Update-List 會傳回已更新的物件,或傳回代表更新動作的物件。

範例 1

C:\PS>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 的條件,因為其儲存的 Microsoft .NET Framework 物件集合具有 Add 和 Remove 方法。

Update-List Cmdlet 會傳回已更新的信箱,然後這個信箱會經由管道輸出至 Set-MailBox Cmdlet,讓後者變更信箱。

如需 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 Cmdlet 取得信箱,然後將信箱儲存到 $m 變數。它也會使用 Update-List 的 InputObject 參數指定信箱。InputObject 的值為 $m 變數中的信箱。這個命令會使用 Property 參數指定 Aliases 屬性,以及使用 Add 和 Remove 參數指定正在從 Aliases 的值中新增及移除的項目。

它也會使用管線運算子 (|) 將已更新的信箱物件傳送給 Set-Mailbox Cmdlet,讓後者變更信箱。






範例 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 建立代表變更的物件,然後將變更送出給 Set-Mailbox 的 Alias 參數。

該命令會使用 Get-MailBox Cmdlet 取得信箱。管線運算子 (|) 會將信箱物件傳送給 Set-Mailbox Cmdlet,讓後者變更信箱。

該命令會使用 Set-Mailbox 的 Alias 參數變更信箱物件的 Aliases 屬性。Alias 參數的值為 Update-List 命令,它會建立代表更新的物件。Update-List 命令是放在括弧內,確保會在 Alias 參數的值被評估之前執行它。當 Set-Mailbox 命令完成時,也就變更了信箱。






範例 4

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

描述
-----------
這個命令會使用 Update-List 的 Replace 運算子,以新的集合來代替 $a 中物件的 Aliases 屬性內的集合。

這個命令使用 InputObject 參數,在本例中相當於使用管線運算子將 $a 傳遞給 Update-List。






請參閱




目錄