Modificando propriedades com valores múltiplos

 

Aplica-se a: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

Tópico modificado em: 2007-08-13

Este tópico explica como usar o Shell de Gerenciamento do Exchange para adicionar e remover valores de uma propriedade com valores múltiplos em um objeto.

O que é uma propriedade com valores múltiplos?

Uma propriedade com valores múltiplos é uma propriedade que pode conter mais de um valor. Por exemplo, a proprieade BlockedRecipients no objeto RecipientFilterConfig pode aceitar vários endereços de destinatário, como nos seguintes exemplos:

  • john@contoso.com

  • kim@northwindtraders.com

  • david@adatum.com

Como a propriedade BlockedRecipients pode aceitar mais de um valor, ela é chamada de propriedade com valores múltiplos.

Para obter mais informações sobre objetos, consulte Dados estruturados.

Em que a modificação de uma propriedade com valores múltiplos é diferente?

Modificar uma propriedade com valores múltiplos é ligeiramente diferente de como modificar uma propriedade que aceita apenas um valor. Ao modificar uma propriedade que aceita apenas um valor, é possível atribuir um valor diretamente a ela, como no seguinte comando:

Set-TransportConfig -MaxSendSize 12MB

Quando você usa esse comando para fornecer um novo valor à propriedade MaxSendSize, o valor armazenado é sobrescrito. Isso não é um problema com propriedades que aceitam um único valor. Entretanto, ele se torna um problema com propriedades com valores múltiplos. Por exemplo, suponha que a propriedade BlockedRecipients na propriedade RecipientFilterConfig esteja configurada para ter os três valores listados na seção anterior. Ao executar 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 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-RecipientFilterConfig -BlockedRecipients chris@contoso.com

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

BlockedRecipients : {chris@contoso.com}

Isso não era o que você esperava. Você desejava adicionar o novo endereço SMTP à lista existente de destinatários bloqueados, mas, em vez disso, a lista existente de destinatários bloqueados foi sobrescrita pelo novo endereço SMTP. Isso é como modificar uma propriedade com valores múltiplos difere de modificar uma propriedade que aceita apenas um único valor. Ao modificar uma propriedade com valores múltiplos, você deve se assegurar de anexar ou remover valores, em vez de sobrescrever a lista inteira de valores. As seções a seguir mostram como fazer exatamente isso.

Dica

Alguns cmdlets, como Set-TransportRule, não aceitam modificar propriedades em objetos da maneira descrita neste tópico. Para obter mais informações sobre como adicionar e remover valores de propriedades com valores múltiplos desses cmdlets, consulte os tópicos desses cmdlets, como Set-TransportRule.

Para modificar propriedades com valores múltiplos, você deve compreender os seguintes conceitos:

Como anexar um valor a uma propriedade com valores múltiplos

Anexar um valor a uma propriedade com valores múltiplos é muito simples. Requer apenas algumas etapas extras. Mais uma vez, suponha que a propriedade BlockedRecipients contenha os valores listados na primeira seção.

Primeiro, você tem de recuperar o objeto a ser modificado e atribuí-lo a uma variável. Por exemplo, use o seguinte comando para atribuir o objeto RecipientFilterConfig à variável $Example:

$Example = Get-RecipientFilterConfig

Se você executar o comando $Example | Format-List BlockedRecipients, o seguinte será retornado:

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

A seguir, você tem de adicionar o valor a ser anexado à propriedade BlockedRecipients no objeto que está armazenado na variável $Example. Lembre-se de que essa etapa adiciona o valor apenas ao objeto que está armazenado na variável. Para adicionar chris@contoso.com à propriedade BlockedRecipients no objeto que está armazenado na variável $Example, execute o seguinte comando:

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

Se você executar o comando $Example | Format-List BlockedRecipients novamente, o seguinte será retornado:

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

Como você pode ver, o endereço SMTP chris@contoso.com foi adicionado à lista de valores que estão armazenados na propriedade BlockedRecipients.

Finalmente, você tem de salvar o objeto que está armazenado em $Example usando o seguinte comando:

Set-RecipientFilterConfig -BlockedRecipients $Example.BlockedRecipients

Agora, ao executar o comando Get-RecipientFilterConfig | Format-List BlockedRecipients, você verá que o endereço SMTP chris@contoso.com foi adicionado ao servidor.

Anexar valores múltiplos a uma propriedade com valores múltiplos

Se você desejar anexar diversos valores ao mesmo tempo em uma propriedade com valores múltiplos, execute as mesmas etapas, conforme descrito anteriormente. Ao especificar os valores que deseja anexar, separe os valores por vírgulas, como no seguinte exemplo:

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

Depois de ter especificado os valores a serem adicionados, use o cmdlet Set-RecipientFilterConfig para salvar o objeto.

Dica

Alguns cmdlets não permitem anexar diversos valores ao mesmo tempo.

Como remover um valor de uma propriedade com valores múltiplos

Pode ser que você queira remover apenas um valor de uma propriedade com valores múltiplos, em vez de remover todos os valores ao mesmo tempo. A remoção de um valor de uma propriedade com valores múltiplos é semelhante a anexar um valor. Entretanto, ao contrário de anexar valores, você deve remover um valor de cada vez. Mais uma vez, suponha que a propriedade BlockedRecipients contenha os valores listados na primeira seção.

Primeiro, você deve atribuir o objeto a ser modificado a uma variável, como no seguinte exemplo:

$Example = Get-RecipientFilterConfig

Em seguida, execute o seguinte comando, que especifica o valor exato que você deseja remover:

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

Finalmente, salve o objeto que está armazenado na variável, como a seguir:

Set-RecipientFilterConfig -BlockedRecipients $Example.BlockedRecipients

Exemplos de anexação de valores a propriedades com valores múltiplos

Os procedimentos a seguir do Shell de Gerenciamento do Exchange são exemplos de como anexar valores a algumas das propriedades com valores múltiplos disponíveis em vários objetos em Microsoft Exchange Server 2007.

Para anexar um endereço SMTP a uma caixa de correio

  1. Execute os seguintes comandos:

    $Mailbox = Get-Mailbox "Kim Akers"
    $Mailbox.EmailAddresses += "kim@contoso.com"
    Set-Mailbox "Kim Akers" -EmailAddresses $Mailbox.EmailAddresses
    
  2. Execute o seguinte comando para exibir a caixa de correio atualizada:

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

Para anexar códigos de notificação de status de entrega (DSN) adicionais à propriedade GenerateCopyOfDSNFor

  1. Execute os seguintes comandos:

    $DsnList = Get-TransportConfig
    $DsnList.GenerateCopyOfDSNFor += "5.4.7", "5.7.1", "5.7.2"
    Set-TransportConfig -GenerateCopyOfDSNFor $DsnList.GenerateCopyOfDSNFor
    
  2. Execute o seguinte comando para exibir os códigos DSN atualizados:

    Get-TransportConfig | Format-List GenerateCopyOfDSNFor
    

Exemplos de remoção de valores de propriedades com valores múltiplos

Os procedimentos a seguir são exemplos de como remover valores de algumas das propriedades com valores múltiplos disponíveis em vários objetos em Exchange 2007.

Para remover o ID de um dispositivo Exchange ActiveSync habilitado de uma caixa de correio CAS (servidor de Acesso para Cliente)

  1. Execute os seguintes comandos

    $CasDevice = Get-CasMailbox "David Simpson"
    $CasDevice.ActiveSyncAllowedDeviceIDs -= "4B9207650054767AD0AEE83A414BCD7F"
    Set-CasMailbox "David Simpson" -ActiveSyncAllowedDeviceIDs $CasDevice.ActiveSyncAllowedDeviceIDs
    
  2. Execute o seguinte comando para exibir a caixa de correio CAS atualizada:

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

Para remover uma caixa de correio da lista de caixas de correio que são permissões "enviar em nome de" concedidas em um grupo de distribuição

  1. Execute o seguinte comando:

    $DistributionGroup = Get-DistributionGroup "Sales Group"
    $DistributionGroup.GrantSendOnBehalfTo -= (Get-Maibox "Christine Hughes").Identity
    Set-DistributionGroup "Sales Group" -GrantSendOnBehalfTo $DistributionGroup.GrantSendOnBehalfTo
    
  2. Execute o seguinte comando para exibir o grupo de distribuição atualizado

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

Para obter mais informações

Para obter mais informações sobre os recursos discutidos neste tópico, consulte os seguintes tópicos: