Compartir a través de


Cómo modificar las condiciones de la regla de transporte y las excepciones en el Shell de administración de Exchange

 

Se aplica a: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

Última modificación del tema: 2007-03-20

En este tema se explica cómo utilizar el Shell de administración de Exchange para modificar una regla de transporte que está configurada en un equipo que tiene instalada las funciones del servidor de transporte de concentradores o de transporte perimetral de Microsoft Exchange Server 2007.

Para obtener más información acerca de los agentes de reglas de transporte, vea Introducción a las reglas de transporte (en inglés).

Antes de empezar

Antes de llevar a cabo los siguientes procedimientos, vea Cómo modificar una regla de transporte (en inglés) que proporciona información importante y necesaria para modificar las condiciones de la regla de transporte y las excepciones.

Para realizar estos procedimientos, la cuenta que utilice debe tener delegada la siguiente función:

  • Función de Administrador de la organización de Exchange

Para ejecutar los siguientes procedimientos en un equipo que tiene instalada la función del servidor Transporte perimetral, debe iniciar sesión mediante una cuenta que sea miembro del grupo local de administradores en dicho equipo.

Para obtener más información acerca de los permisos, la delegación de funciones y los derechos necesarios para administrar Exchange Server 2007, consulte Consideraciones sobre permisos.

Para realizar estos procedimientos, debe estar familiarizado con los siguientes conceptos:

Para obtener más información acerca del Shell de administración de Exchange, vea Uso del Shell de administración de Exchange (en inglés).

Modificar condiciones y excepciones en una regla de transporte

Los procedimientos utilizados para modificar las condiciones y excepciones en las reglas de transporte son muy similares ya que las condiciones y las excepciones utilizan los mismo predicados subyacentes de reglas de transporte. Los procedimientos descritos en este tema usan las condiciones de la regla de transporte como un ejemplo, pero puede también aplicar estos procedimientos a excepciones de regla de transporte. Para utilizar las siguientes reglas con el objeto de modificar las excepciones de reglas de transporte, cambie Conditions a Exceptions. Veamos el ejemplo siguiente:

  • Para obtener acceso a las condiciones en una regla de transporte, use el siguiente comando:

    $ConditionArray = (Get-TransportRule "Test Rule").Conditions
    
  • Para obtener acceso a las excepciones en una regla de transporte, use el siguiente comando:

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

Agregar condiciones a una regla de transporte

En primer lugar, debe preservar las condiciones existentes. Asigne cada condición existente en la matriz de condiciones a su propia variable. Use la siguiente sintaxis de comando para asignar la matriz de condiciones a una variable:

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

Para asignar las condiciones de una regla de transporte a una variable y ver cuántas condiciones están en la matriz.

  1. Ejecute el siguiente comando para asignar la matriz de condiciones a una variable:

    $ConditionArray = (Get-TransportRule "Test Rule").Conditions
    
  2. Ejecute el siguiente comando para ver el número de condiciones en la matriz:

    $ConditionArray.Length
    

A continuación, asigne cada condición existente en la matriz a su propia variable. Las condiciones están en los elementos de matriz, que están numerados del 0 al $Condition.Length - 1. Use la sintaxis siguiente para asignar cada elemento de matriz de condiciones a su propia variable:

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

Para asignar cada elemento de matriz de condiciones a su propia variable

  • Ejecute los siguientes comandos:

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

A continuación, ejecute la nueva condición o condiciones. No puede usar condiciones que ya estén aplicadas a la regla de transporte existente. Use la siguiente sintaxis para asignar una nueva condición a una variable:

$NewCondition = Get-TransportRulePredicate <Predicate Name>

Para obtener una lista de los predicados de regla de transporte, vea Predicados de la regla de transporte (en inglés).

Para asignar una nueva condición a una nueva variable

  • Ejecute el siguiente comando:

    $NewCondition = Get-TransportRulePredicate SubjectContains
    

Tras asignar la nueva condición a una nueva variable, asigne los valores a la condición. Use los siguientes comandos para signar valores a la nueva condición:

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

Para obtener una lista de las propiedades de predicado de la regla de transporte y el formato esperado de sus valores, vea Predicados de la regla de transporte (en inglés).

Para asignar valores a una nueva condición

  • Ejecute el siguiente comando:

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

Tras crear todas las condiciones nuevas, aplíquelas a la regla de transporte existente. Use la siguiente sintaxis de comando para modificar la regla de transporte:

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

Nota

Debe ordenar las condiciones existentes y las nuevas de acuerdo a su Rank cuando las especifique en el comando Set-TransportRule. Use el comando Get-TransportRulePredicate para ver el intervalo de cada condición o excepción.

Para modificar la regla de transporte existente

  • Ejecute el siguiente comando:

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

Quitar condiciones de una regla de transporte

Para quitar condiciones de una regla de transporte, siga estos pasos de la sección anterior en este tema:

  1. Asignar las condiciones de una regla de transporte a una variable y ver cuántas condiciones están en la matriz.

  2. Asignar cada elemento de la matriz de condiciones a su propia variable, excepto la condición que desee quitar.

  3. Modificar la regla de transporte existente.

Para quitar una condición de una regla de transporte

  1. Ejecute el siguiente comando para asignar la matriz de condiciones a una variable:

    $ConditionArray = (Get-TransportRule "Test Rule").Conditions
    
  2. Ejecute el siguiente comando para ver el número de condiciones en la matriz:

    $ConditionArray.Length
    
  3. Ejecute el siguiente comando para ver las condiciones en la variable de $ConditionArray y anote el número de elemento de la matriz de la condición que desea quitar:

    $ConditionArray
    
  4. Ejecute el siguiente comando para signar las condiciones que desea mantener en las variables, omitiendo los elementos de matriz de las condiciones que no desea mantener:

    $ExistingCondition1 = $Condition[1]
    ...
    
  5. Ejecute el siguiente comando para modificar la regla de transporte, asignando sólo las variables que se asocian con las condiciones que desea mantener:

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

Modificar los valores de una condición existente en una regla de transporte

Los procedimientos para modificar una condición dependen de si la condición acepta valores únicos o múltiples. Siga los procedimientos que se aplican al tipo de condición que desea modificar.

Para determinar el tipo de condición que desea modificar, vea Predicados de la regla de transporte (en inglés).

Modificar una condición de valor único existente

En primer lugar, asigne las condiciones de la regla de transporte existente a una variable y vea la matriz. Use la siguiente sintaxis de comando:

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

Para asignar las condiciones de una regla de transporte a una variable y ver cuántas condiciones están en la matriz.

  1. Ejecute el siguiente comando para asignar la matriz de condiciones a una variable:

    $ConditionArray = (Get-TransportRule "Test Rule").Conditions
    
  2. Ejecute el siguiente comando para ver las condiciones en la matriz:

    $ConditionArray
    

Determine qué condición desea modificar y anote el número de elemento de matriz. Vea "Agregar valores a una condición de múltiples valores existente" más adelante en este tema para encontrar el número de elemento de matriz correcto.

Tras determinar el número de elemento de matriz, asigne el nuevo valor a esa condición mediante la siguiente sintaxis de comando:

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

Para asignar un valor a la condición WithImportance en el número 2 de elemento de matriz

  • Ejecute el siguiente comando:

    $ConditionArray[2].Importance = "High"
    

Para modificar la regla de transporte existente

  • Ejecute el siguiente comando:

    Set-TransportRule "Test Rule" -Condition $ConditionArray
    

Nota

No es necesario insertar la variable de $ConditionArray en una matriz ya que dicha variable de $ConditionArray ya se encuentra en una.

Agregar valores a una condición de múltiples valores existente

En primer lugar, debe asignar las condiciones de la regla de transporte existente a una variable y ver la matriz. Use la siguiente sintaxis de comando:

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

Para asignar las condiciones de una regla de transporte a una variable y ver cuántas condiciones están en la matriz.

  1. Ejecute el siguiente comando para asignar la matriz de condiciones a una variable:

    $ConditionArray = (Get-TransportRule "Test Rule").Conditions
    
  2. Ejecute el siguiente comando para ver las condiciones en la matriz:

    $ConditionArray
    

Determine qué condición desea modificar y anote el número de elemento de matriz. La primera condición en la matriz es el elemento de matriz 0. Si la condición que desea modificar es la tercera condición de la lista, su número de elemento de matriz es 2. Debe determinar la propiedad o propiedades de predicado de la condición. Las propiedades de predicado de la condición se indican siempre inmediatamente antes de la línea que empieza con LinkedDisplayTextException, como en el siguiente ejemplo:

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

En este ejemplo, la primera condición, en el elemento raíz 0, tiene la propiedad de predicado Addresses. La segunda condición, en el elemento de matriz 1, tiene la propiedad de predicado Words.

Para agregar valores a una condición existente, use la siguiente sintaxis de comando:

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

Para obtener una lista de las propiedades de predicado de la regla de transporte y el formato esperado de sus valores, vea Predicados de la regla de transporte (en inglés).

Para agregar valores a una condición existente en el elemento 1 de matriz del ejemplo

  • Ejecute el siguiente comando:

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

Para modificar la regla de transporte existente

  • Ejecute el siguiente comando:

    Set-TransportRule "Test Rule" -Condition $ConditionArray
    

Nota

No es necesario insertar la variable de $ConditionArray en una matriz ya que dicha variable de $ConditionArray ya se encuentra en una.

Quitar valores de una condición de múltiples valores existente

Para quitar valores de una condición existente, debe anotar los valores existentes y, a continuación, volver a escribir los valores existentes en la condición, omitiendo los valores que no desea. Cuando realiza el siguiente proceso, los valores existentes se reemplazan con los valores que especifica.

Nota

El siguiente procedimiento funciona bien para las condiciones que tienen sólo unos pocos valores configurados. Sin embargo, para condiciones que tienen docenas, o cientos, de valores configurados, este procedimiento no es válido. Le recomendamos que use un bucle de foreach cuando no sea razonable volver a asignar manualmente valores a una condición.
Para obtener más información, vea Uso del Shell de administración de Exchange (en inglés).

En primer lugar, debe asignar las condiciones de la regla de transporte existente a una variable y ver la matriz. Use la siguiente sintaxis de comando:

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

Para asignar las condiciones de una regla de transporte a una variable y ver cuántas condiciones están en la matriz.

  1. Ejecute el siguiente comando para asignar la matriz de condiciones a una variable:

    $ConditionArray = (Get-TransportRule "Test Rule").Conditions
    
  2. Ejecute el siguiente comando para ver las condiciones en la matriz:

    $ConditionArray
    

A continuación, vea los valores de la condición que desea modificar y reemplace los valores de esa condición con los valores que desea mantener. Para obtener más información acerca de cómo determinar el número de elemento y las propiedades de predicado de una matriz de condiciones, vea "Agregar valores a una condición de múltiples valores existente" más atrás en este tema. Use la siguiente sintaxis de comando:

$ConditionArray[<Array Element Number>]

A continuación, reemplace los valores existentes de la condición que desea modificar con los valores que desea mantener. Use la siguiente sintaxis de comando:

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

Para obtener una lista de las propiedades de predicado de la regla de transporte y el formato esperado de sus valores, vea Predicados de la regla de transporte (en inglés).

Para quitar valores a una condición existente en el elemento 1 de matriz anterior

  1. Ejecute el siguiente comando para ver valores actuales que están configurados en la condición:

    $ConditionArray[1]
    
  2. Ejecute el siguiente comando para sustituir los valores actuales con los valores deseados:

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

Para modificar la regla de transporte existente

  • Ejecute el siguiente comando:

    Set-TransportRule "Test Rule" -Condition $ConditionArray
    

Nota

No es necesario insertar la variable $ConditionArray en una matriz dado que dicha variable ya se encuentra en una.

Para obtener más información

Para obtener información detallada acerca de la sintaxis y los parámetros de los comandos, vea los siguientes temas (en inglés):

Para obtener más información acerca de las reglas de transporte, vea los siguientes temas (en inglés):