Share via


Cómo modificar las acciones de reglas de transporte 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-08-27

En este tema se explica cómo utilizar el Shell de administración de Exchange para modificar las acciones de una regla de transporte existente que se ha configurado en un equipo que tiene instalada la función del servidor Transporte de concentradores o Transporte perimetral de Microsoft Exchange Server 2007.

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

Antes de empezar

Antes de realizar los procedimientos siguientes, consulte Cómo modificar una regla de transporte (en inglés), que proporciona información importante necesaria para modificar acciones de reglas de transporte.

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

  • Función 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 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, consulte Uso del Shell de administración de Exchange (en inglés).

Modificación de las acciones de una regla de transporte

Adición de acciones a una regla de transporte

En primer lugar, debe conservar las acciones existentes. Asigne cada acción existente en la matriz de acciones a su propia variable. Utilice la siguiente sintaxis de comando para asignar la matriz de acciones a una variable:

$ActionArray = (Get-TransportRule "<rule name>").Actions

Para asignar las acciones de una regla de transporte a una variable y ver cuántas acciones hay en la matriz

  1. Para asignar la matriz de acciones a una variable, ejecute el siguiente comando:

    $ActionArray = (Get-TransportRule "Test Rule").Actions
    
  2. Para ver el número de acciones que hay en la matriz, ejecute el siguiente comando:

    $ActionArray.Length
    

A continuación, asigne cada acción de la matriz a su propia variable. Las acciones están en los elementos de la matriz, que están numerados del 0 al $ActionArray.Length - 1. Utilice la siguiente sintaxis para asignar el elemento de matriz de cada acción a su propia variable:

$ExistingAction<Array Element Number> = $ActionArray[<Array Element Number>]

Para asignar el elemento de matriz de cada acción a su propia variable

  • Ejecute los siguientes comandos:

    $ExistingAction0 = $ActionArray[0]
    $ExistingAction1 = $ActionArray[1]
    

A continuación, cree la nueva acción o acciones. No es posible utilizar las acciones que ya se han aplicado a la regla de transporte existente. Utilice la siguiente sintaxis para asignar una nueva acción a una variable:

$NewAction = Get-TransportRuleAction <Action Name>

Para ver una lista de acciones de reglas de transporte, consulte Acciones de regla de transporte (en inglés).

Para asignar una nueva acción a una nueva variable

  • Ejecute el siguiente comando:

    $NewAction = Get-TransportRuleAction LogEvent
    

Después de asignar la nueva acción a una nueva variable, asigne un valor a la acción. Para ello, utilice el siguiente comando:

$NewAction.<ActionProperty> = <Single Value or Array of Values>

Para ver una lista de propiedades de las acciones de reglas de transporte y el formato esperado de sus valores, consulte Acciones de regla de transporte (en inglés).

Para asignar valores a una nueva acción

  • Ejecute el siguiente comando:

    $NewAction.LogMessage = "Transport Rule triggered"
    

Después de crear todas las nuevas acciones, aplíquelas a la regla de transporte existente. Utilice la siguiente sintaxis de comando para modificar la regla de transporte:

Set-TransportRule <Transport Rule Name> -Action @(<Actions>)

Nota

Cuando especifique las acciones en el comando Set-TransportRule, debe ordenar las acciones nuevas y existentes en función de su Rank. Utilice el comando Get-TransportRuleAction para ver la clasificación de cada acción.

Para modificar la regla de transporte existente

  • Ejecute el siguiente comando:

    Set-TransportRule "Test Rule" -Action @($ExistingAction0, $ExistingAction1, $NewAction)
    

Eliminación de acciones de una regla de transporte

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

  1. Asigne las acciones de una regla de transporte a una variable y vea cuántas acciones hay en la matriz.

  2. Asigne el elemento de matriz de cada acción a su propia variable, excepto el de la acción que desea quitar.

  3. Modifique la regla de transporte existente.

Para quitar una acción de una regla de transporte

  1. Para asignar la matriz de acciones a una variable, ejecute el siguiente comando:

    $ActionArray = (Get-TransportRule "Test Rule").Actions
    
  2. Para ver el número de acciones que hay en la matriz, ejecute el siguiente comando:

    $ActionArray.Length
    
  3. Para ver las acciones de la variable $ActionArray y anotar el número de elemento de matriz de la acción que desea quitar, ejecute el siguiente comando:

    $ActionArray
    
  4. Para asignar las acciones que desea conservar a variables y omitir los elementos de matriz de las acciones que no desea conservar, ejecute los siguientes comandos:

    $ExistingAction1 = $Action[1]
    ...
    
  5. Para modificar la regla de transporte y asignar sólo las variables asociadas a las acciones que desea conservar, ejecute el siguiente comando:

    Set-TransportRule "Test Rule" -Action @($ExistingAction1)
    

Modificación del valor de una acción existente en una regla de transporte

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

Nota

En los ejemplos siguientes se utilizan acciones de regla de transporte disponibles en los servidores de transporte de concentradores.

Para determinar el tipo de acción que desea modificar, consulte Acciones de regla de transporte (en inglés).

Modificar una acción de valor único existente

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

$ActionArray = (Get-TransportRule "Test Rule").Actions

Para asignar las acciones de una regla de transporte a una variable y ver cuántas acciones hay en la matriz

  1. Para asignar la matriz de acciones a una variable, ejecute el siguiente comando:

    $ActionArray = (Get-TransportRule "Test Rule").Actions
    
  2. Para ver las acciones de la matriz, ejecute el siguiente comando:

    $ActionArray
    

Determine la acción que desea modificar y anote su número de elemento de matriz. La primera acción de la matriz se encuentra en el elemento de matriz 0. Si la acción que desea modificar es la tercera acción de la lista, su número de elemento de matriz es 2. A continuación deberá determinar la propiedad o propiedades de la acción. Las propiedades de la acción siempre se muestran inmediatamente delante de la línea que comienza con Name.

Después de determinar el número de elemento de matriz, asigne el nuevo valor a esa acción mediante la siguiente sintaxis de comando:

$ActionArray[<array element number>].<Action Property> = <Single Value>

Para ver una lista de propiedades de las acciones de reglas de transporte y el formato esperado de sus valores, consulte Acciones de regla de transporte (en inglés).

Para asignar un valor a la acción SetScl en el elemento de matriz 2

  • Ejecute el siguiente comando:

    $ActionArray[2].SclValue = "7"
    

Para modificar la regla de transporte existente

  • Ejecute el siguiente comando:

    Set-TransportRule "Test Rule" -Action $ActionArray
    

Nota

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

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

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

$ActionArray = (Get-TransportRule "Test Rule").Actions

Para asignar las acciones de una regla de transporte a una variable y ver cuántas acciones hay en la matriz

  1. Para asignar la matriz de acciones a una variable, ejecute el siguiente comando:

    $ActionArray = (Get-TransportRule "Test Rule").Actions
    
  2. Para ver las acciones de la matriz, ejecute el siguiente comando:

    $ActionArray
    

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

Addresses         : {Legal Group, Regulatory Compliance}
Name              : RedirectMessage
Rank              : 10
LinkedDisplayText : redirect the message to <a id="Addresses">addresses</a>

RejectReason       : Example Message
EnhancedStatusCode : 5.7.1
Name               : RejectMessage
Rank               : 11
LinkedDisplayText  : send <a id="RejectReason">bounce message</a> to sender with <a id ="EnhancedStatusCode">enhanced status code</a>

En este ejemplo, la primera acción, en el elemento raíz 0, tiene la propiedad de acción Addresses. La segunda acción, en el elemento de matriz 1, tiene las propiedades de acción RejectReason y EnhancedStatusCode.

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

$ActionArray[<Array Element Number>].<Action Property> += <Array of Values>

Para ver una lista de propiedades de las acciones de reglas de transporte y el formato esperado de sus valores, consulte Acciones de regla de transporte (en inglés).

Para agregar valores a una acción existente en el elemento 0 de matriz del ejemplo

  • Ejecute el siguiente comando:

    $ActionArray[0].Addresses += @((Get-DistributionGroup "Example Group 1"), (Get-DistributionGroup "Example Group 2))
    

Para modificar la regla de transporte existente

  • Ejecute el siguiente comando:

    Set-TransportRule "Test Rule" -Action $ActionArray
    

Nota

No es necesario insertar la variable de $ActionArray en una matriz, porque dicha variable de $ActionArray ya se encuentra en una.

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

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

Nota

El siguiente procedimiento funciona bien para las acciones que tienen sólo unos pocos valores configurados. Sin embargo, para acciones que tienen decenas, o centenares, de valores configurados, este procedimiento no es válido. Le recomendamos que use un bucle de ForEach cuando no sea práctico volver a asignar manualmente valores a una acción.
Para obtener más información, consulte Uso del Shell de administración de Exchange (en inglés).

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

$ActionArray = (Get-TransportRule "Test Rule").Actions

Para asignar las acciones de una regla de transporte a una variable y ver cuántas acciones hay en la matriz

  1. Para asignar la matriz de acciones a una variable, ejecute el siguiente comando:

    $ActionArray = (Get-TransportRule "Test Rule").Actions
    
  2. Para ver las acciones de la matriz, ejecute el siguiente comando:

    $ActionArray
    

A continuación, consulte los valores de la acción que desea modificar y sustituya los valores de esa acción por 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 acción de una matriz de acciones, consulte "Agregar valores a una acción de múltiples valores existente" de este tema. Use la siguiente sintaxis de comando:

$ActionArray[<Array Element Number>]

A continuación, sustituya los valores existentes de la acción que desea modificar por los valores que desea mantener. Use la siguiente sintaxis de comando:

$ActionArray[<Array Element Number>].<Action Property> = <Array of Values>

Para ver una lista de propiedades de las acciones de reglas de transporte y el formato esperado de sus valores, consulte Predicados de la regla de transporte (en inglés).

Para quitar valores a una acción existente en el elemento 0 de matriz anterior

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

    $ActionArray[0]
    
  2. Ejecute el siguiente comando para sustituir los valores actuales por los valores deseados:

    $ActionArray[0].Addresses = @((Get-Mailbox "Kim Akers"),(Get-Mailbox "Frank Lee"))
    

Para modificar la regla de transporte existente

  • Ejecute el siguiente comando:

    Set-TransportRule "Test Rule" -Action $ActionArray
    

    Nota

    No es necesario insertar la variable de $ActionArray en una matriz, porque dicha variable de $ActionArray ya se encuentra en una.

Información adicional

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

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