修改多重值內容
適用於:Exchange Server 2013
多重值內容是指可包含多個值的內容。 例如,RecipientFilterConfig 物件的 BlockedRecipients 屬性可接受多個收件者地址,如下列範例所示:
- john@contoso.com
- kim@northwindtraders.com
- david@adatum.com
BlockedRecipients 屬性可接受多個值,因此稱為多重值內容。 本主題說明如何使用 Exchange 管理命令介面,對物件的多重值屬性新增及移除值。
如需物件的詳細資訊,請參閱結構化資料。 如需命令介面的詳細資訊,請參閱搭配使用 PowerShell 與 Exchange 2013 (Exchange 管理命令介面)。
比較修改多重值屬性與修改只接受單一值的屬性
修改多重值內容的方式與修改只接受單一值的內容稍有不同。 當您修改只接受單一值的內容時,您可以直接指派它的值,如下列命令所示。
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 位址卻覆寫了現有的封鎖收件者清單。 這個無意間的結果,即舉例說明了修改多重值內容與修改只接受單一值的內容之間的差異。 當您修改多重值內容時,必須確定您是附加或移除值,而非覆寫整個值清單。 下列幾節會告訴您怎麼做。
如何修改多重值屬性
修改多重值內容與修改單一值內容相當類似。 您只需要新增一些額外的語法,向命令介面指出您想要對多重值屬性新增或移除值,而不是取代儲存在屬性中的所有項目。 語法已與值或要加進內容或從其中移除的值一同包含在內,以您在執行一個指令程式時作為參數上的值。 下表顯示您必須加入指令程式中之參數,用以修改多重值內容的語法。
多重值屬性語法
動作 | 語法 |
---|---|
將一個或多個值加入多重值內容 | @{Add="<value1>", "<value2>", "<value3>"} |
自多重值內容移除一個或多個值 | @{Remove="<value1>", "<value2>", "<value3>"} |
您從多重值屬性語法資料表中選擇的語法會指定為 Cmdlet 上的參數值。 例如,下列命令會將多個值加入多重值內容:
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"}
可使用更複雜的組合,像是同時將值加入一個內容,或自其中移除。 若要這麼做,請在 Add
與 Remove
動作間插入分號 (;
)。 例如:
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}