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.
Ejecute el siguiente comando para asignar la matriz de condiciones a una variable:
$ConditionArray = (Get-TransportRule "Test Rule").Conditions
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:
Asignar las condiciones de una regla de transporte a una variable y ver cuántas condiciones están en la matriz.
Asignar cada elemento de la matriz de condiciones a su propia variable, excepto la condición que desee quitar.
Modificar la regla de transporte existente.
Para quitar una condición de una regla de transporte
Ejecute el siguiente comando para asignar la matriz de condiciones a una variable:
$ConditionArray = (Get-TransportRule "Test Rule").Conditions
Ejecute el siguiente comando para ver el número de condiciones en la matriz:
$ConditionArray.Length
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
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] ...
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.
Ejecute el siguiente comando para asignar la matriz de condiciones a una variable:
$ConditionArray = (Get-TransportRule "Test Rule").Conditions
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.
Ejecute el siguiente comando para asignar la matriz de condiciones a una variable:
$ConditionArray = (Get-TransportRule "Test Rule").Conditions
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.
Ejecute el siguiente comando para asignar la matriz de condiciones a una variable:
$ConditionArray = (Get-TransportRule "Test Rule").Conditions
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
Ejecute el siguiente comando para ver valores actuales que están configurados en la condición:
$ConditionArray[1]
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):