Modificando Propriedades com Valores Múltiplos
Aplica-se a: Exchange Server 2010
Tópico modificado em: 2009-10-14
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.
Visão geral da propriedade com valores múltiplos
Uma propriedade com valores múltiplos é uma propriedade que pode conter mais de um valor. Por exemplo, a propriedade BlockedRecipients no objeto RecipientFilterConfig pode aceitar vários endereços de destinatários como nos exemplos a seguir
- John@contoso.com
- Kim@northwindtraders.com
- David@adatum.com
Como a propriedade BlockedRecipients pode aceitar mais de um valor, é chamada de propriedade de valor múltiplo.
Para obter mais informações sobre objetos, consulte Dados Estruturados.
Modificando uma Propriedade de Valor Múltiplo vs. Modificando uma Propriedade que Aceita Somente um Único Valor
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:
Anexar valores múltiplos 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 deste tópico.
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.
Remover um valor de uma propriedade de múltiplos valores
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 deste tópico.
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 são exemplos de como anexar valores a algumas das propriedades de múltiplos valores disponíveis em vários objetos no Microsoft Exchange Server 2010 e, em seguida, exibe os resultados atualizados.
Este exemplo acrescenta um endereço SMTP para a caixa de correio de Carina Terra.
$Mailbox = Get-Mailbox "Kim Akers"
$Mailbox.EmailAddresses += "kim@contoso.com"
Set-Mailbox "Kim Akers" -EmailAddresses $Mailbox.EmailAddresses
Este exemplo recupera o nome e endereços de email para a caixa de correio atualizada de Kim Akers.
Get-Mailbox "Kim Akers" | Format-List Name, EmailAddresses
Este exemplo anexa códigos de notificação de status de entrega (DSN) adicionais à propriedade GenerateCopyOfDSNFor.
$DsnList = Get-TransportConfig
$DsnList.GenerateCopyOfDSNFor += "5.4.7", "5.7.1", "5.7.2"
Set-TransportConfig -GenerateCopyOfDSNFor $DsnList.GenerateCopyOfDSNFor
Este exemplo recupera os códigos do DSN, incluindo códigos adicionados.
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 a algumas das propriedades de valores múltiplos disponíveis em vários objetos no Exchange 2010e, em seguida, exibe os valores atualizados.
Este exemplo remove o ID do dispotivo de um dispositivo Microsoft Exchange ActiveSync de uma caixa de correio do servidor de Acesso para Cliente.
$CasDevice = Get-CasMailbox "David Simpson"
$CasDevice.ActiveSyncAllowedDeviceIDs -= "4B9207650054767AD0AEE83A414BCD7F"
Set-CasMailbox "David Simpson" -ActiveSyncAllowedDeviceIDs $CasDevice.ActiveSyncAllowedDeviceIDs
Este exemplo recupera a lista de identificações de dispositivo atualizada.
Get-CasMailbox "David Simpson" | Format-List Name, ActiveSyncAllowedDeviceIDs
Este exemplo remove uma caixa de correio da lista de caixas de correio que são permissões "enviar em nome de" concedidas em um grupo de vendas
$DistributionGroup = Get-DistributionGroup "Sales Group"
$DistributionGroup.GrantSendOnBehalfTo -= (Get-Mailbox "Christine Koch").Identity
Set-DistributionGroup "Sales Group" -GrantSendOnBehalfTo $DistributionGroup.GrantSendOnBehalfTo
Este exemplo recupera a lista atualizada das caixa de correio que são permissões "enviar em nome de" concedidas no grupo de vendas de distribuição
Get-DistributionGroup "Sales Group" | Format-List Name, GrantSendOnBehalfTo