Utilización de Shell de administración de Exchange para administrar colas

 

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

Última modificación del tema: 2006-09-18

En este tema se describen los cmdlets de cola de Shell de administración de Exchange; también se incluyen explicaciones sobre el uso de los cmdlets y los conjuntos de parámetros que se utilizan para crear una consulta, recuperar los resultados y realizar acciones de modificación. Para obtener más información acerca de las tareas de colas y la forma en que se puede utilizar para supervisar y solucionar problemas, consulte Administrar colas.

En Microsoft Exchange Server 2007, se puede utilizar Shell de administración de Exchange para realizar tareas de administración y configuración, además de secuencias de comandos que automaticen determinadas tareas. También se puede utilizar Shell de administración de Exchange no sólo para ver información acerca de las colas de un servidor y sus mensajes, sino también para realizar acciones de administración en dichas colas y los elementos de correo. Estas operaciones son útiles para solucionar problemas del flujo de correo e identificar correo electrónico no deseado. Para obtener más información acerca de cómo utilizar Shell de administración de Exchange, consulte Uso del Shell de administración de Exchange (en inglés).

Administración de colas y mensajes

Las tareas de colas se agrupan en dos categorías: acciones de visualización y acciones de modificación. Las acciones de visualización permiten mostrar las colas y los mensajes de un servidor y seleccionar el modo en que se agrupan y ordenan los datos que se van a visualizar. Las acciones de modificación son operaciones que cambian el estado de las colas y los mensajes. Ambos tipos de tareas tienen acceso a los datos mediante la conexión al proceso de trabajo de transporte; para ello, utilizan las llamadas a procedimiento remoto (RPC). Para obtener más información acerca del proceso de transporte de Exchange 2007, consulte Arquitectura de transporte (en inglés).

De forma predeterminada, Shell de administración de Exchange se centra en el servidor local. También se puede conectar a un servidor remoto para ver sus colas y mensajes. Para ello, existen dos posibilidades: especificar el nombre del servidor remoto como parte de la identidad de la cola, o utilizar el parámetro Server con un filtro. Para obtener más información acerca de cómo utilizar Shell de administración de Exchange para ver colas y mensajes, consulte Cómo ver colas y Cómo ver mensajes (en inglés).

cmdlets de colas

En la Tabla 1 se enumeran los cmdlets de los que dispone Shell de administración de Exchange para administrar las colas y sus mensajes. Para obtener más información acerca de cada cmdlet, consulte los temas de Ayuda enumerados en la columna Para más información.

Tabla 1   Cmdlets de colas

Cmdlet Uso Para obtener más información

Export-Message

Este cmdlet guarda una copia de un mensaje en una ruta de archivo especificada por el administrador.

Export-Message

Cómo exportar mensajes desde colas

Get-Message

Este cmdlet permite visualizar los detalles de los mensajes que están en la cola de entrega. Se puede utilizar el cmdlet Get-Message para recuperar un conjunto de mensajes y, a continuación, canalizar los resultados a uno de los cmdlet intrusivos.

Get-Message

Cómo ver mensajes

Canalización

Trabajo con salidas de comandos

Get-Queue

Este cmdlet permite visualizar los detalles de configuración de las colas presentes en los servidores de transporte. Se puede utilizar el cmdlet Get-Queue para recuperar un conjunto de colas y canalizar después los resultados a uno de los cmdlet intrusivos.

Get-Queue

Cómo ver colas

Canalización

Trabajo con salidas de comandos

Remove-Message

Este cmdlet elimina un mensaje de una cola. El administrador puede optar entre enviar un informe de no entrega, o no hacerlo.

Remove-Message

Cómo quitar mensajes de colas

Resume-Message

Este cmdlet reanuda la entrega de un mensaje que se había suspendido. También puede usar el cmdlet Resume-Message para devolver los mensajes que se encuentren en la cola de mensajes dañados a la cola Envío con el objeto de que el categorizador los vuelva a procesar.

Resume-Message

Cómo reanudar mensajes

Cómo volver a enviar mensajes a colas

Resume-Queue

Este cmdlet reanuda las entregas de mensajes de una cola que se había suspendido.

Resume-Queue

Cómo reanudar colas

Retry-Queue

Este cmdlet fuerza un intento de conexión en una cola que tiene un estado Reintentar. Este intento de conexión anula el siguiente reintento programado. También puede usar el cmdlet Retry-Queue junto con el parámetro Resubmit para enviar mensajes que se encuentran en las colas de entregas o en la cola Inalcanzable de vuelta a la cola Envío para que el categorizador los vuelva a procesar.

Retry-Queue

Cómo reintentar colas

Cómo volver a enviar mensajes a colas

Suspend-Message

Este cmdlet suspende la entrega de un mensaje ubicado en una cola de un servidor de transporte de Exchange 2007.

Suspend-Message

Cómo suspender mensajes

Suspend-Queue

Este cmdlet suspende las actividades de salida en una cola que se encuentre en un servidor de transporte de Exchange 2007.

Suspend-Queue

Cómo suspender colas

Utilizar los conjuntos de parámetros de las tareas de la cola

Las tareas de la cola admiten una variedad de conjuntos de parámetros. Estos conjuntos de parámetros son los siguientes: Identity, Queue y Filter. El conjunto de parámetros Queue sólo está disponible con comandos de mensaje. Los conjuntos de parámetros Identity, Queue y Filter no se pueden combinar en un comando. El parámetro Server sólo se utiliza en expresiones de filtro.

También es posible utilizar los parámetros avanzados de paginación disponibles en Shell de administración de Exchange en combinación con los conjuntos de parámetros Identity, Queue y Filter. Los parámetros avanzados de paginación se utilizan con los cmdlets Get-Message y Get-Queue para controlar cómo se muestra y ordena el conjunto de resultados. La Tabla 4 de este tema incluye una descripción de los parámetros avanzados de paginación.

Para los comandos que modifican mensajes o colas, se debe utilizar un conjunto de parámetros Identity, Queue o Filter. Si no se especifican parámetros, los cmdlets Get-Message y Get-Queue mostrarán todos los objetos de mensaje o cola que existan en el servidor local.

Si el conjunto de resultados de una consulta de cola o de mensajes supera los 250.000 elementos, se producirá un error y se le indicará que aplique un filtro para reducir el número de resultados.

Uso del parámetro Identity

Utilice el parámetro Identity si el mensaje o la cola que desea visualizar o con el que tomará acciones son conocidos. La búsqueda por identidad es más rápida que formular la misma consulta a modo de filtro. El nombre del servidor se puede expresar como nombre de host o como nombre de dominio completo (FQDN). Se puede especificar el nombre de un servidor remoto como parte de la identidad para iniciar una conexión de llamada a procedimiento remoto con el servidor y poder, de este modo, realizar consultas en las colas de dicho servidor. Si no se especifica un nombre de servidor, se utilizará el host local. Cuando se proporciona una identidad a una acción de modificación, el objeto que se identifica debe ser único y estar totalmente definido. Si la identidad no es explícita, la acción no tendrá lugar. Si se omite la parte del servidor de la identidad, se asumirá que dicha parte se corresponde con el equipo local.

Si se utiliza el parámetro Identity como parte de un cmdlet Get-Queue o Get-Message, dicho parámetro admitirá el uso de expresiones comodín.

Identidad de colas

Al tener nombres únicos, las colas persistentes se pueden especificar por su nombre. Se asigna una identidad única de base de datos a las colas de entrega. Para especificar una cola, se puede utilizar esta identidad de base de datos o el nombre del destino de entrega. Para realizar una operación en una cola especificando su identidad única de base de datos, es necesario ejecutar, en primer lugar, el cmdlet Get-Queue. La identidad de base de datos se devolverá en los resultados. La Tabla 2 muestra los formatos de identidad aceptados para las colas.

Tabla 2   Formatos de identidad de colas

Formato de identidad de cola Uso

Servidor\QueueJetID (Int64)

La identidad única y completa para una cola de entrega.

\QueueJetID

La identidad de una cola en el servidor local. Se omite el nombre del servidor. Por tanto, se utiliza el servidor local implícitamente.

Servidor\*

Cualquier cola del servidor especificado.

Servidor\NextHopDomain

Una cola en el servidor especificado que mantiene mensajes para su entrega a un dominio remoto específico.

\NextHopDomain

Una cola que mantiene mensajes destinados a un dominio específico y que está ubicada en el servidor local.

Servidor\Poison

La cola de mensajes con daños que está ubicada en el servidor especificado.

Servidor\Submission

La cola que contiene elementos a la espera para ser procesados por el categorizador.

Servidor\Unreachable

La cola que contiene elementos que no se pueden enrutar y que está ubicada en el servidor específico.

El siguiente código es un ejemplo de cómo se utiliza una identidad de cola con el cmdlet Get-Queue. Este ejemplo devuelve una lista de todas las colas que mantienen mensajes para la entrega a nombres de dominio de Protocolo simple de transferencia de correo (SMTP) que finalicen en Contoso.com. Además, da el formato de lista detallada al conjunto de resultados:

Get-Queue -Identity Server\*Contoso.com | format-list

Identidad de mensajes

La identidad de un mensaje es una agregación del elemento de correo de base de datos único y la identidad de cola. Cuando el mensaje entra en la base de datos de JET de cola, se asigna al mensaje una identidad en forma de entero; dicho entero se anexa a la identidad de cola para crear la identidad de mensaje. Para realizar una operación en un mensaje especificando la identidad de base de datos, es necesario ejecutar, en primer lugar, el cmdlet Get-Message. La identidad se devuelve en los resultados. Puede incluir el nombre de servidor como parte de la identidad de mensaje si desea conectarse a un servidor remoto. Si se omite el nombre de servidor, se tomará el del servidor local. Un mensaje que está en proceso de envío a más de un destinatario puede estar ubicado en muchas colas. Puede utilizar un carácter comodín para especificar que desea ubicar el mensaje en las colas hacia las que se enrutó el mensaje. La Tabla 3 ofrece ejemplos de una identidad de mensaje válida.

Tabla 3   Formatos de identidad de mensajes

Formato de identidad de mensajes Uso

Servidor\QueueJetId\MessageJetID

Denominación completa de un mensaje en una cola.

Servidor\Poison\MessageJetID

Un mensaje que está en la cola de mensajes con daños.

MessageJetID

Todos los mensajes que tienen esta identidad de base de datos de JET y se enrutan hacia alguna cola del servidor local (un mensaje que se enruta a muchas colas).

Servidor\*\MessageJetID

Todos los mensajes que tienen esta identidad de base de datos de JET y se enrutan a alguna cola del servidor especificado.

El siguiente código es un ejemplo de cómo se utiliza una identidad de mensaje con el cmdlet Get-Message. Este ejemplo devuelve una lista de todos los mensajes que tienen la identidad especificada y están ubicados en alguna cola del servidor especificado. Además, da el formato de lista detallada al conjunto de resultados:

Get-message -Identity Server\*\1234 | Format-List

Uso del parámetro Filter

Las tareas de la cola admiten el parámetro Filter para que se puedan especificar criterios en los que se basa la recuperación de colas y mensajes. Las propiedades de mensaje y de cola se utilizan como criterios de filtro. Crear un filtro que muestre un conjunto limitado de colas y mensajes. Una vez ubicadas las colas y mensajes que se desean supervisar, será posible ver la información acerca de las propiedades de cada objeto. Esta información es útil para solucionar problemas relacionados con el flujo de correo.

Utilice el parámetro Filter para crear una expresión con operadores lógicos y relacionales y, de esta forma, visualizar únicamente los objetos de cola o mensaje que cumplan los criterios del filtro. Se puede utilizar el operador lógico -and si los resultados deben cumplir varias condiciones. Si se utiliza el operador -and, sólo se mostrarán los objetos que cumplan todas las condiciones especificadas en la expresión. Para especificar los criterios del filtro, se utiliza un subconjunto de las propiedades de un mensaje o de una cola. La propiedad que se especifica debe ser una propiedad válida para el objeto que se consulta, y el valor que se debe cumplir debe estar expresado con la sintaxis correcta. Si el valor de la propiedad no es más que un entero, asegúrese de que aparece entre comillas.

Un comando puede incluir los parámetros Server y Filter. Utilice el parámetro Server para especificar el nombre de host o el nombre de dominio completo (FQDN) del servidor al que se desea conectar mediante llamadas a procedimiento remoto (RPC); de este modo, podrá consultar las colas y mensajes de dicho servidor y recuperar un conjunto de resultados.

Para obtener más información acerca de las propiedades que se pueden utilizar para el filtrado, su sintaxis correcta y los operadores admitidos, consulte los siguientes temas (en inglés):

Uso de parámetro Queue

El parámetro Queue sólo se utiliza con comandos de mensaje. Utilice este parámetro para especificar la identidad de la cola de la que desea recuperar los mensajes. Si se especifica una cola, se recuperarán todos los mensajes de dicha cola. De este modo, se pueden recuperar todos los mensajes de una determinada cola sin necesidad de utilizar una expresión de filtro. Se pueden recuperar mensajes de varias colas mediante el carácter comodín. La Tabla 2 muestra el formato de identidad de cola cuando se utiliza el parámetro Queue con un comando de mensaje. En el ejemplo de código siguiente se muestra cómo utilizar el parámetro Queue con un cmdlet Get-Message. Este ejemplo devuelve un conjunto de resultados que sólo contiene los mensajes del servidor especificado que están en la cola de entrega al dominio de SMTP Contoso.com:

Get-message -Queue Server\Contoso.com

Uso de los parámetros avanzados de paginación

En función del flujo de correo, las consultas pueden devolver un conjunto muy amplio de objetos. Los parámetros avanzados de paginación permiten controlar cómo se recuperan y muestran los resultados de una consulta.

Si se utiliza Shell de administración de Exchange para ver colas y sus mensajes, la consulta recuperará las páginas de información de una en una. Los parámetros avanzados de paginación controlan el tamaño del conjunto de resultados y permiten ordenarlos. Los parámetros avanzados de paginación son opcionales y se pueden combinar con aquellos conjuntos de parámetros que se puedan utilizar con los cmdlets Get-Queue y Get-Message. Si no se especifican parámetros avanzados de paginación, la consulta devuelve los resultados en orden ascendente de identidad. De forma predeterminada, si se especifica un criterio de ordenación, se incluye siempre la propiedad de identidad de mensaje en orden ascendente. Ésta es la relación predeterminada de ordenación. Se utiliza la propiedad de identidad de mensaje porque el resto de propiedades que se puede incluir en un criterio de ordenación no son únicas. La inclusión explícita de la propiedad de identidad de mensaje en el criterio de ordenación permite especificar que los resultados muestren la identidad de mensaje en orden descendente.

Se pueden utilizar los parámetros BookmarkIndex y BookmarkObject para marcar una posición en el conjunto de resultados ordenados. Si el objeto de marcador no existe cuando se recupera la siguiente página de resultados, la relación de ordenación predeterminada se asegura de que el conjunto de resultados se inicia con el objeto más cercano al marcador. El objeto más cercano depende del criterio de ordenación especificado.

La Tabla 4 describe los parámetros avanzados de paginación.

Tabla 4   Parámetros avanzados de paginación

Parámetro Descripción

BookmarkIndex

El parámetro BookmarkIndex especifica la posición en el conjunto de resultados donde se inician los resultados mostrados. El valor del parámetro BookmarkIndex es un índice de base 1 en el conjunto total de resultados. Si el valor es menor que o igual a cero, se devuelve la primera página completa de resultados. Si el valor está establecido en Int.MaxValue, se devuelve la última página completa de resultados.

BookmarkObject

El parámetro BookmarkObject especifica el objeto del conjunto de resultados donde se inician los resultados mostrados. Si se especifica un objeto de marcador, éste se utilizará como punto de partida para la búsqueda. El valor del parámetro SearchForward determinará si se recuperan las filas anteriores y posteriores al objeto. No se pueden combinar los parámetros BookmarkObject y BookmarkIndex en una sola consulta.

IncludeBookmark

El parámetro IncludeBookmark especifica si se debe incluir el objeto de marcador en el conjunto de resultados. De forma predeterminada, este valor está establecido en $true y se incluye el objeto de marcador. Puede ejecutar una consulta para obtener un conjunto de resultados limitado y utilizar el último elemento de éste como marcador para la siguiente consulta. En este caso, puede que desee establecer IncludeBookmark en $false para que no se incluya al objeto en ambos conjuntos de resultados.

ResultSize

El parámetro ResultSize especifica el número de resultados que se muestra en cada página. Si no se especifica ningún valor, se utilizará 1.000 de forma predeterminada. Exchange Server 2007 limita el conjunto de resultados a 250.000.

ReturnPageInfo

ReturnPageInfo es un parámetro oculto. Devuelve información acerca del número total de resultados y el índice del primer objeto de la página actual. El valor predeterminado es $false.

SearchForward

El parámetro SearchForward especifica si la búsqueda se realiza hacia adelante o hacia atrás en el conjunto de resultados. Este parámetro no afecta al orden en el que se devuelve el conjunto de resultados. Determina la dirección de búsqueda relativa al objeto o al índice de marcador. Si no se especifica ningún objeto o índice, el parámetro SearchForward determina si la búsqueda se inicia desde el primero o el último de los objetos del conjunto de resultados. El valor predeterminado para este parámetro es $true. Si el parámetro SearchForward se establece en $true y se especifica un marcador, la consulta busca hacia adelante desde el marcador. Si se utiliza esta configuración y el marcador coincide con el último resultado, la consulta devuelve la última página de resultados. Si el parámetro SearchForward se establece en $false y se especifica un marcador, la consulta busca hacia atrás desde el marcador. Si se utiliza esta configuración y tras el marcador hay menos de una página completa de resultados, la consulta devuelve la primera página completa de resultados.

SortOrder

El parámetro SortOrder especifica una matriz de propiedades de mensaje que se utiliza para controlar el criterio de ordenación del conjunto de resultados. Las propiedades de criterio de ordenación se especifican en orden descendente de precedencia. Las propiedades van separadas por comas y llevan anexas un símbolo + para ordenar en orden ascendente, o un símbolo - para ordenar en orden descendente. Si no se especifica un criterio de ordenación mediante este parámetro, los registros que cumplan la consulta se mostrarán y ordenarán por el campo Identidad de cada tipo de objeto. Si no se especifica ningún criterio de ordenación, los resultados se ordenan siempre por identidad en orden ascendente.

En el ejemplo de código siguiente se muestra cómo utilizar los parámetros avanzados de paginación en una consulta. En este ejemplo, el comando se conecta al servidor especificado y recupera un conjunto de resultados que contiene 500 objetos. Los resultados se muestran en función de un criterio de ordenación, primero en orden ascendente por dirección de emisor, y, luego, en orden ascendente por tamaño de mensaje:

Get-message -Server Exchange.Contoso.com -ResultSize 500 -SortOrder +FromAddress,-Size

Para ver las siguientes páginas, se puede establecer un marcador para el último objeto recuperado en un conjunto de resultados y ejecutar una consulta adicional. Para este procedimiento, es necesario utilizar las capacidades asociadas a los scripts de Shell de administración de Exchange.

El en siguiente ejemplo se utilizan scripts para recuperar la primera página de resultados, se establece el objeto de marcador, se excluye el objeto de marcador del conjunto de resultados y, finalmente, se recuperan los siguientes 500 objetos del servidor especificado.

Ejemplo: Cómo utilizar scripts para establecer un objeto de marcador

  1. Abra Shell de administración de Exchange y escriba el siguiente comando para recuperar la primera página de resultados:

    $Results=Get-message -Server Exchange.Contoso.com -ResultSize 500 -SortOrder +FromAddress,-Size
    
  2. Para establecer el objeto de marcador, escriba el siguiente comando para guardar el último elemento de la primera página en una variable:

    $temp=$results[$results.length-1]
    
  3. Para recuperar los siguientes 500 objetos del servidor especificado y excluir el objeto de marcador, escriba el siguiente comando:

    Get-message -Server Exchange.Contoso.com -BookmarkObject:$temp -IncludeBookmark $False -ResultSize 500 -SortOrder +FromAddress,-Size
    

Para obtener más información