修改多重值內容

 

適用版本: Exchange Server 2010 SP2, Exchange Server 2010 SP3

上次修改主題的時間: 2015-03-09

本主題說明如何使用 Exchange 管理命令介面,在物件的多重值內容新增及移除值。

多重值屬性概觀

多重值內容是指可包含多個值的內容。例如,RecipientFilterConfig 物件的 BlockedRecipients 內容可接受多個收件者地址,如下列範例所示:

  • john@contoso.com

  • kim@northwindtraders.com

  • david@adatum.com

因為 BlockedRecipients 內容可接受多個值,所以稱為多重值內容。

如需物件的詳細資訊,請參閱結構化的資料

比較修改多重值屬性與修改只接受單一值的屬性

修改多重值內容的方式與修改只接受單一值的內容稍有不同。當您修改只接受單一值的內容時,您可以直接指派它的值,如下列命令所示。

Set-TransportConfig -MaxSendSize 12MB

當您使用此命令提供 MaxSendSize 內容的新值時,會覆寫已儲存的值。這對於只接受單一值的內容沒有問題。不過,在多重值內容就會出現問題。例如,假設 RecipientFilterConfig 物件上的 BlockedRecipients 內容是設定為含有上一節所列出的三個值。當您執行 Get-RecipientFilterConfig | Format-List BlockedRecipients 命令時,會顯示如下。

BlockedRecipients : {david@adatum.com, kim@northwindtraders.com, john@contoso.com}

現在假設您收到一項要求,要求您將新的 SMTP 位址新增至封鎖的收件者清單。您可以執行下列命令來加入新的 SMTP 位址。

Set-RecipientFilterConfig -BlockedRecipients chris@contoso.com

當您重新執行 Get-RecipientFilterConfig | Format-List BlockedRecipients 命令時,會看到下列內容。

BlockedRecipients : {chris@contoso.com}

這並不是您原先所預期的內容。您想要將新的 SMTP 位址加入現有的封鎖收件者清單中,但新的 SMTP 位址卻覆寫了現有的封鎖收件者清單。這個無意間的結果,即舉例說明了修改多重值內容與修改只接受單一值的內容之間的差異。當您修改多重值內容時,必須確定您是附加或移除值,而非覆寫整個值清單。下列幾節會告訴您怎麼做。

注意

有些指令程式,如 Set-TransportRule,並不支援以本主題所描述的方式來修改物件的內容。如需如何在這些指令程式的多重值內容中新增或移除值的詳細資訊,請參閱適用於那些指令程式的主題,例如 Set-TransportRule

修改多重值內容

修改多重值內容與修改單一值內容相當類似。您只需要加入一些額外的語法,來告訴命令介面您想要將值加入一個多重值內容或從其中移除,而不是取代所有存放在內容中的項目。語法已與值或要加進內容或從其中移除的值一同包含在內,以您在執行一個指令程式時作為參數上的值。下表顯示您必須加入指令程式中之參數,用以修改多重值內容的語法。

多重值內容語法

Action 語法

將一個或多個值加入多重值內容

@{Add="<value1>", "<value2>", "<value3>"}

自多重值內容移除一個或多個值

@{Remove="<value1>", "<value2>", "<value3>"}

您自多重值內容語法表中所選取的語法,會被指定為指令程式上的一個參數值。例如,下列命令會將多個值加入多重值內容:

Set-ExampleCmdlet -Parameter @{Add="Red", "Blue", "Green"}

當您使用此語法時,您所指定的語法便會加入,或從已存在於內容的值之清單中移除。以本主題中稍早出現的 BlockedRecipients 作為例子,您現在可以加入 chris@contoso.com,而無需複寫此內容上其餘的值,只需使用以下命令:

Set-RecipientFilterConfig -BlockedRecipients @{Add="chris@contoso.com"}

若您要自值清單上移除 david@adatum.com,您應使用此命令:

Set-RecipientFilterConfig -BlockedRecipients @{Remove="david@adatum.com"}

可使用更複雜的組合,像是同時將值加入一個內容,或自其中移除。若要這樣做,請在 AddRemove 動作間插入一個分號 (; )。例如:

Set-RecipientFilterConfig -BlockedRecipients @{Add="carter@contoso.com", "sam@northwindtraders.com", "brian@adatum.com"; Remove="john@contoso.com"}

若我們再次使用 Get-RecipientFilterConfig | Format-List BlockedRecipients 命令,您便會看到 Carter、Sam 與 Brian 的電子郵件地址皆已加入,而 John 的地址已被移除。

BlockedRecipients : {brian@adatum.com, sam@northwindtraders.com, carter@contoso.com, chris@contoso.com, kim@northwindtraders.com}