Share via


Como modificar as condições e exceções de Regras de Transporte no Shell de Gerenciamento do Exchange

 

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

Tópico modificado em: 2007-03-20

Este tópico explica como usar o Shell de Gerenciamento do Exchange para modificar as condições e exceções de uma regra de transporte existente configurada em um computador em que a função de servidor Transporte de Hub ou Transporte de Borda do Microsoft Exchange Server 2007 esteja instalada.

Para obter mais informações sobre os agentes de Regras de Transporte, consulte Visão geral de regras de transporte.

Antes de começar

Antes de executar os procedimentos a seguir, consulte o tópico Como modificar uma regra de transporte, que fornece informações importantes necessárias para modificar as condições e exceções de regras de transporte.

Para executar esses procedimentos, você deve usar uma conta à qual estejam delegadas as seguintes funções:

  • Função Administrador da Organização do Exchange

Para executar os procedimentos a seguir em um computador em que a função de servidor Transporte de Borda esteja instalada, faça logon com uma conta que seja membro do grupo Administradores local no computador.

Para obter mais informações sobre permissões, delegação de funções e os direitos necessários para administrar o Exchange Server 2007, consulte Considerações sobre permissão.

Para executar estes procedimentos, você deve estar familiarizado com os seguintes conceitos:

Para obter mais informações sobre o Shell de Gerenciamento do Exchange, consulte Usando o Shell de Gerenciamento do Exchange.

Modificando condições ou exceções em uma Regra de Transporte

Os procedimentos usados para modificar condições e exceções em regras de transporte são muito semelhantes, pois as condições e exceções usam os mesmos predicados da regra de transporte subjacente. Os procedimentos descritos neste tópico usam as condições de regras de transporte como um exemplo, mas você pode também aplicar esses procedimentos às exceções de regras de transporte. Para usar as regras a seguir para modificar as exceções de regras de transporte, substitua Conditions por Exceptions. Considere o exemplo a seguir:

  • Para acessar as condições em uma regra de transporte, use o seguinte comando:

    $ConditionArray = (Get-TransportRule "Test Rule").Conditions
    
  • Para acessar as exceções em uma regra de transporte, use o seguinte comando:

    $ExceptionArray = (Get-TransportRule "Test Rule").Exceptions
    

Adicionando condições a uma Regra de Transporte

Primeiro, você deve preservar as condições existentes. Atribua cada condição existente na matriz de condições à sua própria variável. Use a seguinte sintaxe de comando para atribuir a matriz de condições a uma variável:

$ConditionArray = (Get-TransportRule "<rule name>").Conditions

Para atribuir as condições de uma regra de transporte a uma variável e visualizar quantas condições estão na matriz

  1. Execute o seguinte comando para atribuir a matriz de condições a uma variável:

    $ConditionArray = (Get-TransportRule "Test Rule").Conditions
    
  2. Execute o seguinte comando para visualizar o número de condições na matriz:

    $ConditionArray.Length
    

Em seguida, atribua cada condição da matriz de condições à sua própria variável. As condições estão em elementos da matriz, que são numerados de 0 a $Condition.Length - 1. Use a seguinte sintaxe para atribuir cada elemento da matriz de condições à sua própria variável:

$ExistingCondition<Array Element Number> = $ConditionArray[<Array Element Number>]

Para atribuir cada elemento da matriz de condições à sua própria variável

  • Execute os seguintes comandos:

    $ExistingCondition0 = $ConditionArray[0]
    $ExistingCondition1 = $ConditionArray[1]
    

Em seguida, crie a nova condição ou condições. Não é possível usar condições que já estejam aplicadas à regra de transporte existente. Use a seguinte sintaxe para atribuir uma nova condição a uma variável:

$NewCondition = Get-TransportRulePredicate <Predicate Name>

Para obter uma lista de predicados de regras de transporte, consulte Predicados da regra de transporte.

Para atribuir uma nova condição a uma nova variável

  • Execute o seguinte comando:

    $NewCondition = Get-TransportRulePredicate SubjectContains
    

Depois de atribuir a nova condição a uma nova variável, atribua valores à condição. Use o seguinte comando para atribuir valores à nova condição:

$NewCondition.<PredicateProperty> = <Single Value or Array of Values>

Para obter uma lista de propriedades de predicados de regras de transporte e a formatação esperada de seus valores, consulte Predicados da regra de transporte.

Para atribuir valores a uma nova condição

  • Execute o seguinte comando:

    $NewCondition.Words = @("Test Subject 1", "Test Subject 2")
    

Depois de criar todas as novas condições, aplique todas elas à regra de transporte existente. Use a sintaxe de comando a seguir para modificar a regra de transporte:

Set-TransportRule <Transport Rule Name> -Condition @(<Conditions>)

Dica

Você deve classificar as condições novas e existentes de acordo com sua Rank ao especificá-las no comando Set-TransportRule. Use o comando Get-TransportRulePredicate para visualizar a posição de cada condição ou exceção.

Para modificar a regra de transporte existente

  • Execute o seguinte comando:

    Set-TransportRule "Test Rule" -Condition @($ExistingCondition0, $ExistingCondition1, $NewCondition)
    

Removendo condições de uma Regra de Transporte

Para remover uma condição de uma regra de transporte, siga estas etapas, a partir da seção anterior, neste tópico:

  1. Atribua as condições de uma regra de transporte a uma variável e visualize quantas condições estão na matriz.

  2. Atribua cada elemento da matriz de condições à sua própria variável, exceto a condição que você deseja remover.

  3. Modifique a regra de transporte existente.

Para remover uma condição de uma regra de transporte

  1. Execute o seguinte comando para atribuir a matriz de condições a uma variável:

    $ConditionArray = (Get-TransportRule "Test Rule").Conditions
    
  2. Execute o seguinte comando para visualizar o número de condições na matriz:

    $ConditionArray.Length
    
  3. Execute o seguinte comando para visualizar as condições na variável $ConditionArray e anote o número do elemento da matriz da condição que você deseja remover:

    $ConditionArray
    
  4. Execute o seguinte comando para atribuir as condições que você deseja manter nas variáveis, omitindo os elementos da matriz das condições que não deseja manter:

    $ExistingCondition1 = $Condition[1]
    ...
    
  5. Execute o seguinte comando para modificar a regra de transporte, atribuindo somente as variáveis que estão associadas às condições que você deseja manter:

    Set-TransportRule "Test Rule" -Condition @($ExistingCondition1)
    

Modificando os valores de uma condição existente em uma regra de transporte

Os procedimentos para modificar uma condição dependem se a condição aceita um único valor ou vários valores. Siga o procedimento que se aplica ao tipo de condição que você deseja modificar.

Para determinar o tipo de condição que você deseja modificar, consulte Predicados da regra de transporte.

Modificando uma condição de valor único existente

Primeiro, atribua as condições da regra de transporte existente a uma variável e visualize a matriz. Use a seguinte sintaxe de comando:

$ConditionArray = (Get-TransportRule "Test Rule").Conditions

Para atribuir as condições de uma regra de transporte a uma variável e visualizar quantas condições estão na matriz

  1. Execute o seguinte comando para atribuir a matriz de condições a uma variável:

    $ConditionArray = (Get-TransportRule "Test Rule").Conditions
    
  2. Execute o comando a seguir para visualizar as condições na matriz:

    $ConditionArray
    

Determine qual condição você deseja modificar e anote seu número de elemento da matriz. Consulte "Adicionando valores a uma condição de vários valores existente", posteriormente, neste tópico, para localizar o número correto do elemento da matriz

Depois de determinar o número do elemento da matriz, atribua um novo valor a essa condição usando a seguinte sintaxe de comando:

$ConditionArray[<array element number>].<Predicate Property> = <Single Value>

Para atribuir um valor à condição WithImportance no elemento de matriz número 2

  • Execute o seguinte comando:

    $ConditionArray[2].Importance = "High"
    

Para modificar a regra de transporte existente

  • Execute o seguinte comando:

    Set-TransportRule "Test Rule" -Condition $ConditionArray
    

Dica

Você não precisa inserir a variável $ConditionArray em uma matriz porque a variável $ConditionArray já está na matriz.

Adicionando valores a uma condição de vários valores existente

Primeiro, você deve atribuir as condições da regra de transporte existente a uma variável e visualizar a matriz. Use a seguinte sintaxe de comando:

$ConditionArray = (Get-TransportRule "Test Rule").Conditions

Para atribuir as condições de uma regra de transporte a uma variável e visualizar quantas condições estão na matriz

  1. Execute o seguinte comando para atribuir a matriz de condições a uma variável:

    $ConditionArray = (Get-TransportRule "Test Rule").Conditions
    
  2. Execute o comando a seguir para visualizar as condições na matriz:

    $ConditionArray
    

Determine qual condição você deseja modificar e anote seu número de elemento da matriz. A primeira condição da matriz está no elemento 0 da matriz. Se a condição que você deseja modificar for a terceira condição da lista, o número do elemento da matriz será 2. Você deve então determinar as propriedades do predicado da condição. As propriedades do predicado da condição são sempre listadas imediatamente antes da linha que começa por LinkedDisplayTextException, como no exemplo a seguir:

Addresses                  : {Kim Akers}
LinkedDisplayTextException : except if from <a id="Addresses">people</a>
Name                       : From
Rank                       : 0
LinkedDisplayText          : from <a id="Addresses">people</a>

Words                      : {Corporate Communication, Message from VP, Sales Quotas}
LinkedDisplayTextException : except if with <a id="Words">specific words</a> in the subject
Name                       : SubjectContains
Rank                       : 15
LinkedDisplayText          : with <a id="Words">specific words</a> in the subject

Nesse exemplo, a primeira condição, no elemento 0 da matriz, tem a propriedade do predicado Addresses. A segunda condição, no elemento 1 da matriz, tem a propriedade do predicado Words.

Para adicionar novos valores a uma condição existente, use a seguinte sintaxe de comando:

$ConditionArray[<Array Element Number>].<Predicate Property> += <Array of Values>

Para obter uma lista de propriedades de predicados de regras de transporte e a formatação esperada de seus valores, consulte Predicados da regra de transporte.

Para adicionar valores a uma condição existente no elemento 1 da matriz do exemplo

  • Execute o seguinte comando:

    $ConditionArray[1].Words += @("Industry Projections", "Sales Forecast")
    

Para modificar a regra de transporte existente

  • Execute o seguinte comando:

    Set-TransportRule "Test Rule" -Condition $ConditionArray
    

Dica

Você não precisa inserir a variável $ConditionArray em uma matriz porque a variável $ConditionArray já está na matriz.

Removendo valores de uma condição de vários valores existente

Para remover valores de uma condição existente, você deve anotar os valores existentes e, em seguida, reinserir os valores existentes na condição, omitindo os valores indesejados. Ao executar o procedimento a seguir, os valores existentes são substituídos pelos valores especificados.

Dica

O procedimento a seguir funciona bem para condições que tenham somente poucos valores configurados. No entanto, para condições que tenham dezenas ou centenas de valores configurados, esse procedimento é inviável. Recomendamos o uso de um loop foreach quando não for aceitável reatribuir manualmente valores a uma condição.
Para obter mais informações, consulte Usando o Shell de Gerenciamento do Exchange.

Primeiro, você deve atribuir as condições da regra de transporte existente a uma variável e visualizar a matriz. Use a seguinte sintaxe de comando:

$ConditionArray = (Get-TransportRule "Test Rule").Conditions

Para atribuir as condições de uma regra de transporte a uma variável e visualizar quantas condições estão na matriz

  1. Execute o seguinte comando para atribuir a matriz de condições a uma variável:

    $ConditionArray = (Get-TransportRule "Test Rule").Conditions
    
  2. Execute o comando a seguir para visualizar as condições na matriz:

    $ConditionArray
    

Em seguida, visualize os valores da condição que você deseja modificar e substitua os valores dessa condição pelos valores que deseja manter. Para obter mais informações sobre como determinar o número do elemento e as propriedades do predicado de uma matriz de condições, consulte "Adicionando valores a uma condição de vários valores existente", anteriormente, neste tópico. Use a seguinte sintaxe de comando:

$ConditionArray[<Array Element Number>]

Em seguida, substitua os valores existentes da condição que você deseja modificar pelos valores que deseja manter. Use a seguinte sintaxe de comando:

$ConditionArray[<Array Element Number>].<Predicate Property> = <Array of Values>

Para obter uma lista de propriedades de predicados de regras de transporte e a formatação esperada de seus valores, consulte Predicados da regra de transporte.

Para remover valores de uma condição existente no elemento 1 da matriz do exemplo anterior

  1. Execute o seguinte comando para visualizar os valores atuais que estão configurados na condição:

    $ConditionArray[1]
    
  2. Execute o seguinte comando para substituir os valores atuais pelos valores desejados:

    $ConditionArray[1].Words = @("Corporate Communication", "Sales Quotas")
    

Para modificar a regra de transporte existente

  • Execute o seguinte comando:

    Set-TransportRule "Test Rule" -Condition $ConditionArray
    

Dica

Você não precisa inserir a variável $ConditionArray em uma matriz porque a variável $ConditionArray já é uma matriz.

Para obter mais informações

Para obter informações detalhadas sobre sintaxe e parâmetros de cada comando, consulte os seguintes tópicos:

Para obter mais informações sobre regras de transporte, consulte os tópicos a seguir: