修改多重值內容

 

適用版本: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

上次修改主題的時間: 2007-08-13

本主題說明如何使用 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 位址卻覆寫了現有的封鎖收件者清單。這就是修改多重值內容與修改只接受單一值的內容之間的差異。當您修改多重值內容時,必須確定您是附加或移除值,而非覆寫整個值清單。下列幾節會告訴您怎麼做。

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

若要修改多重值內容,您必須了解下列概念:

如何將值附加至多重值內容?

將值附加至多重值內容非常簡單。只需要多幾個步驟而已。同樣地,我們假設 BlockedRecipients 內容包含第一節所列的值。

首先,您必須擷取要修改的物件,並將它指派至變數。例如,若要將 RecipientFilterConfig 物件指定至變數 $Example,可以使用下列命令:

$Example = Get-RecipientFilterConfig

當您執行 $Example | Format-List BlockedRecipients 命令時,會傳回下列內容:

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

接下來,您必須把您要附加的值新增至 $Example 變數所儲存之物件的 BlockedRecipients 內容中。請注意,此步驟只是將該值新增至變數所儲存的物件中。若要將 chris@contoso.com 新增至 $Example 變數所儲存之物件的 BlockedRecipients 內容中,請執行下列命令:

$Example.BlockedRecipients += "chris@contoso.com"

如果您再次執行 $Example | Format-List BlockedRecipients 命令,會傳回下列內容:

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

如您所見,SMTP 位址 chris@contoso.com 已新增至 BlockedRecipients 內容所儲存的值清單中。

最後,您必須使用下列命令來儲存 $Example 所儲存的物件:

Set-RecipientFilterConfig -BlockedRecipients $Example.BlockedRecipients

現在,當您執行 Get-RecipientFilterConfig | Format-List BlockedRecipients 命令時,會看到 SMTP 位址 chris@contoso.com 已新增至伺服器中。

將多個值附加至多重值內容

如果您想要同時將許多值附加至多重值內容中,請執行與前述相同的步驟。當您指定要附加的值時,請使用逗號分隔各值,如下列範例所示:

$Example.BlockedRecipients += "user1@contoso.com", "user2@contoso.com", "user3@contoso.com"

指定要新增的值之後,請使用 Set-RecipientFilterConfig 指令程式儲存該物件。

note附註:
有些指令程式不允許同時附加多個值。

如何從多重值內容中移除值

有時候您可能只想要從多重值內容中移除一個值,而不要一次移除所有值。從多重值內容中移除值就像附加值一樣。不過,與附加值不同的是,您必須一次移除一個值。同樣地,我們假設 BlockedRecipients 內容包含第一節所列的值。

首先,您必須把要修改的物件指定至變數,如下列範例所示:

$Example = Get-RecipientFilterConfig

然後,執行下列命令,於其中指定您要移除的實際值:

$Example.BlockedRecipients -= "david@contoso.com"

最後,儲存該變數所儲存的物件,如下所示:

Set-RecipientFilterConfig -BlockedRecipients $Example.BlockedRecipients

將值附加至多重值內容的範例

下列 Exchange 管理命令介面程序示範如何將值附加至 Microsoft Exchange Server 2007 的各個物件上可用的一些多重值內容。

將 SMTP 位址附加至信箱

  1. 執行下列命令:

    $Mailbox = Get-Mailbox "Kim Akers"
    $Mailbox.EmailAddresses += "kim@contoso.com"
    Set-Mailbox "Kim Akers" -EmailAddresses $Mailbox.EmailAddresses
    
  2. 執行下列命令,以檢視更新的信箱:

    Get-Mailbox "Kim Akers" | Format-List Name, EmailAddresses
    

對 GenerateCopyOfDSNFor 內容附加其他的傳遞狀態通知 (DSN) 代碼

  1. 執行下列命令:

    $DsnList = Get-TransportConfig
    $DsnList.GenerateCopyOfDSNFor += "5.4.7", "5.7.1", "5.7.2"
    Set-TransportConfig -GenerateCopyOfDSNFor $DsnList.GenerateCopyOfDSNFor
    
  2. 執行下列命令,以檢視更新的 DSN 代碼:

    Get-TransportConfig | Format-List GenerateCopyOfDSNFor
    

從多重值內容中移除值的範例

下列程序示範如何從 Exchange 2007 的各個物件上可用的一些多重值內容中移除值。

從 Client Access Server (CAS) 信箱中移除已啟用的 Exchange ActiveSync 裝置的裝置 ID

  1. 執行下列命令

    $CasDevice = Get-CasMailbox "David Simpson"
    $CasDevice.ActiveSyncAllowedDeviceIDs -= "4B9207650054767AD0AEE83A414BCD7F"
    Set-CasMailbox "David Simpson" -ActiveSyncAllowedDeviceIDs $CasDevice.ActiveSyncAllowedDeviceIDs
    
  2. 執行下列命令,以檢視更新的 CAS 信箱:

    Get-CasMailbox "David Simpson" | Format-List Name, ActiveSyncAllowedDeviceIDs
    

從已授與通訊群組之代理傳送者權限的信箱清單中移除信箱

  1. 執行下列命令:

    $DistributionGroup = Get-DistributionGroup "Sales Group"
    $DistributionGroup.GrantSendOnBehalfTo -= (Get-Maibox "Christine Hughes").Identity
    Set-DistributionGroup "Sales Group" -GrantSendOnBehalfTo $DistributionGroup.GrantSendOnBehalfTo
    
  2. 執行下列命令,以檢視更新的通訊群組

    Get-DistributionGroup "Sales Group" | Format-List Name, GrantSendOnBehalfTo
    

相關資訊

如需本主題中所述功能的相關資訊,請參閱下列主題:

若要確保您目前閱讀的是最新資訊,並尋找其他的 Exchange Server 2007 說明文件,請造訪 Exchange Server 技術資源中心.