Modificação das propriedades com valores múltiplos

Aplica-se a: Exchange Server 2013

A multivalued property is a property that can contain more than one value. For example, the BlockedRecipients property on the RecipientFilterConfig object can accept multiple recipient addresses as in the following examples:

  • john@contoso.com
  • kim@northwindtraders.com
  • david@adatum.com

Because the BlockedRecipients property can accept more than one value, it's called a multivalued property. This topic explains how to use the Exchange Management Shell to add values to and remove values from a multivalued property on an object.

Para obter mais informações sobre objetos, consulte Dados estruturados. Para obter mais informações sobre o Shell, consulte Usando o PowerShell com o Exchange 2013 (Shell de Gerenciamento do Exchange).

Modificar uma propriedade multivalida versus modificar uma propriedade que aceita apenas um único valor

Agora, suponha que você recebeu um pedido para adicionar um novo endereço SMTP (Simple Mail Transfer Protocol) à lista de destinatários bloqueados. Você executa o seguinte comando para adicionar o novo endereço SMTP:

Set-TransportConfig -MaxSendSize 12MB

When you use this command to provide a new value to the MaxSendSize property, the stored value is overwritten. This isn't a problem with properties that accept only one value. However, it becomes a problem with multivalued properties. For example, assume that the BlockedRecipients property on the RecipientFilterConfig object is configured to have the three values that are listed in the previous section. Quando você executa o comando Get-RecipientFilterConfig | Format-List BlockedRecipients, o seguinte é exibido.

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

Agora suponha que você recebeu uma solicitação para adicionar um novo endereço SMTP à lista de destinatários bloqueados. Execute o comando a seguir para adicionar o novo endereço SMTP.

Set-RecipientFilterConfig -BlockedRecipients chris@contoso.com

Quando você executar o Get-RecipientFilterConfig | Format-List BlockedRecipients comando novamente, verá o seguinte.

BlockedRecipients : {chris@contoso.com}

Isso não é o que você esperava. Você queria adicionar o novo endereço SMTP à lista existente de destinatários bloqueados, mas, em vez disso, a lista existente de destinatários bloqueados foi substituída pelo novo endereço SMTP. Esse resultado não intencional exemplifica como a modificação de uma propriedade multivalued difere da modificação de uma propriedade que aceita apenas um único valor. Ao modificar uma propriedade multivalued, você deve garantir que você adicione ou remova valores em vez de substituir toda a lista de valores. As seções a seguir mostram como fazer exatamente isso.

Como modificar propriedades multivalidas

Modificar propriedades multivalidas é semelhante à modificação de propriedades de valor único. Você só precisa adicionar alguma sintaxe adicional para dizer ao Shell que deseja adicionar ou remover valores para ou da propriedade multivalued em vez de substituir tudo o que está armazenado na propriedade. A sintaxe é incluída, juntamente com o valor ou valores a serem adicionados ou removidos para ou da propriedade, como um valor em um parâmetro quando você executa um cmdlet. A tabela a seguir mostra a sintaxe que você precisa adicionar a um parâmetro em um cmdlet para modificar propriedades multivalorizados.

Sintaxe de propriedade multivalida

Ação Sintaxe
Add one or more values to a multivalued property @{Add="<value1>", "<value2>", "<value3>"}
Remover um ou mais valores de uma propriedade multivalida @{Remove="<value1>", "<value2>", "<value3>"}

A sintaxe escolhida na tabela de sintaxe de propriedade Multivalued é especificada como um valor de parâmetro em um cmdlet. For example, the following command adds multiple values to a multivalued property:

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

Quando você usa essa sintaxe, os valores especificados são adicionados ou removidos da lista de valores já presentes na propriedade. Tomando o exemplo BlockedRecipients anteriormente neste tópico, agora podemos adicionar chris@contoso.com sem substituir o restante dos valores nesta propriedade usando o seguinte comando:

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

Se você quisesse remover david@adatum.com da lista de valores, usaria este comando:

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

More complex combinations can be used, such as adding or removing values to and from a property at the same time. Para fazer isso, insira um ponto e vírgula (; ) entre Add e Remove ações. Por exemplo:

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

Se usarmos o Get-RecipientFilterConfig | Format-List BlockedRecipients comando novamente, poderemos ver que os endereços de email de Carter, Sam e Brian foram adicionados enquanto o endereço de John foi removido.

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