Share via


Usando o Shell de Gerenciamento do Exchange para gerenciar filas

 

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

Tópico modificado em: 2006-09-18

Este tópico descreve os cmdlets de fila do Shell de Gerenciamento do Exchange e explica como usar os cmdlets e os conjuntos de parâmetros para criar uma consulta, recuperar os resultados e executar ações de modificação. Para obter mais informações sobre as tarefas de filas e como elas podem ser usadas para monitorar e solucionar problemas, consulte Gerenciando filas.

No Microsoft Exchange Server 2007, você pode usar o Shell de Gerenciamento do Exchange para realizar tarefas de configuração e gerenciamento e criar scripts para automatizar tarefas. Você também pode usar o Shell de Gerenciamento do Exchange para exibir informações sobre as filas de um servidor e as mensagens presentes nessas filas e para realizar ações de gerenciamento em filas e itens de email. Essas operações são úteis para solucionar problemas de fluxo de mensagens e identificar spam. Para obter mais informações sobre como usar o Shell de Gerenciamento do Exchange, consulte Usando o Shell de Gerenciamento do Exchange.

Gerenciando filas e mensagens

As tarefas de filas são agrupadas em duas categorias: ações de exibição e ações de modificação. As ações de exibição permitem exibir filas e mensagens que estão enfileiradas no servidor, bem como selecionar como esses dados são agrupados e classificados quando são exibidos. As ações de modificação são operações que alteram o status de filas e mensagens. Os dois tipos de tarefas acessam dados, conectando ao processo de trabalho de transporte por meio das chamadas de procedimento remoto (RPC). Para obter mais informações sobre o processo de transporte do Exchange 2007, consulte Arquitetura de Transporte.

Por padrão, o Shell de Gerenciamento do Exchange se concentra no servidor local. Também é possível se conectar a um servidor remoto e visualizar as filas e mensagens desse servidor, especificando o nome do servidor remoto como parte da identidade da fila ou usando o parâmetro Server com um filtro. Para obter mais informações sobre como usar o Shell de Gerenciamento do Exchange para visualizar filas e mensagens, consulte Como visualizar filas e Como exibir mensagens.

Cmdlets de Fila

A Tabela 1 lista os cmdlets que estão disponíveis no Shell de Gerenciamento do Exchange para gerenciar filas e as mensagens das filas. Para obter mais informações sobre como usar cada cmdlet, consulte os tópicos da Ajuda listados na coluna Para obter mais informações.

Tabela 1   Cmdlets de filas

Cmdlet Usage Para obter mais informações

Export-Message

Esse cmdlet salva uma cópia de uma mensagem em um caminho de arquivo especificado pelo administrador.

Export-Message

Como exportar mensagens de filas

Get-Message

Esse cmdlet permite exibir os detalhes das mensagens que estão atualmente enfileiradas para entrega. O cmdlet Get-Message pode ser usado para recuperar um conjunto de mensagens e, em seguida, canalizar os resultados para um dos cmdlets intrusivos.

Get-Message

Como exibir mensagens

Pipelining

Trabalhando com saída do comando

Get-Queue

Esse cmdlet permite exibir os detalhes de configuração das filas presentes em servidores de transporte. O cmdlet Get-Queue pode ser usado para recuperar um conjunto de filas e, em seguida, canalizar os resultados para um dos cmdlets intrusivos.

Get-Queue

Como visualizar filas

Pipelining

Trabalhando com saída do comando

Remove-Message

Esse cmdlet exclui uma mensagem de uma fila. O administrador pode selecionar se uma notificação de falha na entrega é enviada.

Remove-Message

Como remover mensagens de filas

Resume-Message

Esse cmdlet retoma a entrega de uma mensagem suspensa anteriormente. Você pode usar também o cmdlet Resume-Message para reenviar mensagens que estejam na fila de mensagens suspeitas de volta para a fila Envio para que o categorizador as processe novamente.

Resume-Message

Como retomar mensagens

Como reenviar mensagens em filas

Resume-Queue

Esse cmdlet retoma as entregas de mensagens de uma fila suspensa anteriormente.

Resume-Queue

Como retomar filas

Retry-Queue

Esse cmdlet força uma tentativa de conexão para uma fila que atualmente tenha um status de Repetição. Essa tentativa de conexão substitui a próxima tentativa agendada. Você pode usar também o cmdlet Retry-Queue em conjunto com o parâmetro Resubmit para enviar mensagens que estejam em filas de entrega ou na fila Inacessíveis de volta para a fila Envio para que o categorizador as processe novamente.

Retry-Queue

Como repetir filas

Como reenviar mensagens em filas

Suspend-Message

Esse cmdlet suspende a entrega de uma mensagem que está localizada em uma fila de um servidor de transporte do Exchange 2007.

Suspend-Message

Como suspender mensagens

Suspend-Queue

Esse cmdlet suspende as atividades de saída de uma fila presente em um servidor de transporte do Exchange 2007.

Suspend-Queue

Como suspender filas

Usando os conjuntos de parâmetros de tarefas de filas

As tarefas de filas oferecem suporte a vários conjuntos de parâmetros. Esses conjuntos de parâmetros são: Identity, Queue e Filter. O conjunto de parâmetros Queue está disponível apenas com comandos de mensagens. Os conjuntos de parâmetros Identity, Queue e Filter não podem ser combinados em um comando. O parâmetro Server é usado apenas com uma expressão de filtro.

Você também pode usar os parâmetros de paginação avançada que estão disponíveis no Shell de Gerenciamento do Exchange em combinação com os conjuntos de parâmetros Identity, Queue e Filter. Os parâmetros de paginação avançada são usados com os cmdlets Get-Message e Get-Queue para controlar como o conjunto de resultados é classificado e exibido. Os parâmetros de paginação avançada são descritos na tabela 4, posteriormente neste tópico.

Você deve usar um conjunto de parâmetros Identity, Queue ou Filter quando usa um comando que modifica mensagens ou filas. Se você não fornecer nenhum parâmetro, os cmdlets Get-Message e Get-Queue exibirão todos os objetos de mensagem ou de fila existentes no servidor local.

Se o conjunto de resultados de uma consulta de fila ou de mensagem contiver mais de 250.000 itens, ocorrerá um erro e será solicitado que você aplique um filtro para reduzir o número de resultados.

Usando o parâmetro Identity

Use o parâmetro Identity quando a mensagem ou fila específica que você deseja visualizar ou na qual você executará uma ação é conhecida. A pesquisa por identidade é mais rápida do que formular a mesma consulta como um filtro. O nome do servidor pode ser expresso como um nome de host ou um nome de domínio totalmente qualificado (FQDN). É possível inserir o nome de um servidor remoto como parte da identidade para iniciar uma conexão RPC com esse servidor, de forma que você possa consultar as filas no servidor. Se você não usar um nome de servidor, o host local estará implícito. Quando uma identidade é fornecida para uma ação de modificação, o objeto identificado deve ser completamente definido e exclusivo. Se a identidade não for explícita, a ação não será executada. Se você omitir a parte de servidor na identidade, será suposto que é o computador local.

Quando você usa o parâmetro Identity como parte de um cmdlet Get-Queue ou Get-Message, esse parâmetro aceita o uso de expressões com caracteres curinga.

Identidade da fila

Filas persistentes têm nomes exclusivos e podem ser especificadas por nome. Uma identidade de banco de dados exclusiva é atribuída às filas de entrega. Você pode usar essa identidade do banco de dados ou o nome do destino de entrega para especificar uma fila. Para executar uma operação em uma fila especificando sua identidade de banco de dados exclusiva, primeiro execute o cmdlet Get-Queue. A identidade do banco de dados será retornada nos resultados. Os formatos de identidade aceitos para as filas são mostrados na tabela 2.

Tabela 2   Formatos de identidade da fila

Formato de identidade da fila Usage

Servidor\QueueJetID (Int64)

A identidade completa e exclusiva de uma fila de entrega.

\QueueJetID

A identidade de uma fila no servidor local. O nome do servidor é omitido. Portanto, o servidor local está implícito.

Servidor\*

Qualquer fila no servidor especificado.

Servidor\NextHopDomain

Uma fila no servidor especificado que está retendo mensagens para entrega a um domínio remoto específico.

\NextHopDomain

Uma fila que está retendo mensagens destinadas para um domínio específico e que está localizada no servidor local.

Servidor\Poison

A fila de mensagens suspeitas que está localizada no servidor especificado.

Servidor\Submission

A fila que contém itens que estão aguardando para serem processados pelo categorizador.

Servidor\Unreachable

A fila que contém itens que não podem ser roteados e que está localizada no servidor especificado.

O código a seguir é um exemplo de como usar uma identidade de fila com o cmdlet Get-Queue. Esse exemplo retorna uma lista de todas as filas que estão retendo mensagens para entrega a nomes de domínio SMTP que terminam em Contoso.com. Esse exemplo também formata o conjunto de resultados como uma lista detalhada:

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

Identidade da mensagem

A identidade de uma mensagem é uma agregação do item de email do banco de dados exclusivo e da identidade da fila. Uma identidade, na forma de um inteiro, é atribuída a uma mensagem quando esta entra no banco de dados JET de enfileiramento e esse inteiro é anexado à identidade da fila para criar a identidade da mensagem. Para executar uma operação em uma mensagem especificando sua identidade de banco de dados, primeiro execute o cmdlet Get-Message. A identidade é retornada nos resultados. Se desejar conectar a um servidor remoto, você poderá incluir o nome do servidor como parte da identidade da mensagem. Se o nome do servidor for omitido, será suposto que é o servidor local. Uma mensagem que está sendo enviada a mais de um destinatário pode estar localizada em várias filas. Você pode usar um caractere curinga para especificar que deseja localizar a mensagem em todas as filas para as quais a mensagem foi roteada. A tabela 3 fornece exemplos de uma identidade de mensagem válida.

Tabela 3   Formatos de identidade da mensagem

Formato de identidade da mensagem Usage

Servidor\QueueJetId\MessageJetID

Denominação completa de uma mensagem em uma fila.

Servidor\Poison\MessageJetID

Uma mensagem que está na fila de mensagens suspeiras.

MessageJetID

Todas as mensagens que têm essa identidade de banco de dados JET e são roteadas para qualquer fila no servidor local (uma mensagem roteada para várias filas).

Servidor\*\MessageJetID

Todas as mensagens que têm essa identidade de banco de dados JET e são roteadas para qualquer fila no servidor especificado.

O código a seguir é um exemplo de como usar uma identidade de mensagem com o cmdlet Get-Message. Este exemplo retorna uma lista de todas as mensagens que têm a identidade especificada e estão localizadas em qualquer fila no servidor especificado. Este exemplo também formata o conjunto de resultados como uma lista detalhada:

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

Usando o parâmetro Filter

As tarefas de filas oferecem suporte ao parâmetro Filter para permitir que você especifique critérios para quais filas e mensagens devem ser recuperadas. As propriedades das filas e das mensagens são usadas como critérios de filtro. Crie um filtro para exibir um conjunto limitado de filas ou mensagens. Depois de localizar as filas e mensagens que deseja monitorar, você pode visualizar informações de propriedade para cada objeto. Essas informações são úteis durante a solução de problemas de fluxo de mensagens.

Use o parâmetro Filter para fornecer uma expressão com operadores lógicos e relacionais, de forma que apenas os objetos de fila ou de mensagem que atendem aos critérios de filtro sejam exibidos. É possível usar o operador lógico -and para especificar várias condições que serão correspondentes aos resultados. Se você usar o operador -and, apenas objetos que correspondem a todas as condições especificadas da expressão serão exibidos. Um subconjunto das propriedades de uma mensagem ou de uma fila é usado para especificar os critérios de filtro. Quando você especifica uma propriedade, ela deve ser válida para o objeto que está sendo consultado e o valor para correspondência deve ser expresso por meio da sintaxe correta. Quando um valor de propriedade for expresso como algo diferente de um número inteiro único, verifique se você colocou o valor entre aspas.

O parâmetro Server pode ser incluído em um comando junto com o parâmetro Filter. Use o parâmetro Server para especificar o nome do host ou o FQDN do servidor ao qual deseja se conectar usando RPC para consultar as filas e mensagens desse servidor e a recuperação de um conjunto de resultados.

Para obter mais informações sobre as propriedades que podem ser usadas para filtragem, a sintaxe correta para essas propriedades e os operadores aceitos, consulte os tópicos a seguir:

Usando o parâmetro Queue

O parâmetro Queue é usado apenas com comandos de mensagens. Use esse parâmetro para especificar a identidade da fila a partir da qual as mensagens são recuperadas. Se uma fila for especificada, todas as suas mensagens serão recuperadas. Isso permite que você recupere todas as mensagens de uma fila específica sem precisar usar uma expressão de filtro. É possível recuperar mensagens em várias filas usando um caractere curinga. Use o formato de identidade da fila da tabela 2 quando usar o parâmetro Queue com um comando de mensagem. O exemplo de código a seguir mostra como usar o parâmetro Queue com um cmdlet Get-Message. Este exemplo gera um conjunto de resultados que contém apenas as mensagens localizadas no servidor especificado e enfileiradas para entrega ao domínio SMTP Contoso.com:

Get-message -Queue Server\Contoso.com

Usando os parâmetros de paginação avançada

Dependendo do fluxo de mensagens atual, as consultas em filas e mensagens podem retornar um conjunto de objetos muito grande. Você pode usar os parâmetros de paginação avançada para controlar como os resultados da consulta são recuperados e exibidos.

Quando você usar o Shell de Gerenciamento do Exchange para exibir filas e as mensagens nas filas, sua consulta recuperará uma página de informações de cada vez. Os parâmetros de paginação avançada controlam o tamanho do conjunto de resultados e também podem ser usados para classificar os resultados. Todos os parâmetros de paginação avançada são opcionais e podem ser combinados a qualquer um dos conjuntos de parâmetros que podem ser usados com os cmdlets Get-Queue e Get-Message. Se nenhum parâmetro de paginação avançada for especificado, a consulta retornará os resultados na ordem crescente de identidade. Por padrão, quando uma ordem de classificação é especificada, a propriedade de identidade da mensagem é sempre incluída e classificada na ordem crescente. Este é o relacionamento de ordenação padrão. A propriedade de identidade da mensagem é incluída, pois as outras propriedades que podem ser incluídas em uma ordem de classificação não são exclusivas. Ao incluir explicitamente a propriedade de identidade da mensagem na ordem de classificação, você pode especificar que os resultados exibam a identidade da mensagem armazenada em ordem decrescente.

É possível usar os parâmetros BookmarkIndex e BookmarkObject para marcar uma posição no conjunto de resultados classificados. Se o objeto indicador não existir mais quando a próxima página de resultados for recuperada, o relacionamento de ordenação padrão verificará se o conjunto de resultados começa com o objeto mais próximo ao indicador. O objeto mais próximo depende da ordem de classificação especificada.

A tabela 4 descreve os parâmetros de paginação avançada.

Tabela 4   Parâmetros de paginação avançada

Parâmetro Descrição

BookmarkIndex

O parâmetro BookmarkIndex especifica a posição de início dos resultados exibidos no conjunto de resultados. O valor do parâmetro BookmarkIndex é um índice baseado em 1 no conjunto de resultados total. Se o valor for menor ou igual a zero, a primeira página de resultados completa será retornada. Se o valor for definido como Int.MaxValue, a última página completa de resultados será retornada.

BookmarkObject

O parâmetro BookmarkObject especifica o objeto de início dos resultados exibidos no conjunto de resultados. Se você especificar um objeto indicador, esse objeto será usado como o ponto para iniciar a pesquisa. Dependendo do valor do parâmetro SearchForward, as linhas antes ou após esse objeto serão recuperadas. Não é possível combinar os parâmetros BookmarkObject e BookmarkIndex em uma única consulta.

IncludeBookmark

O parâmetro IncludeBookmark especifica se o objeto indicador deve ser incluído ou não no conjunto de resultados. Por padrão, o valor é definido como $true e o objeto indicador é incluído. Você pode executar uma consulta para um tamanho limitado de resultados e, em seguida, especificar o último item no conjunto de resultados como o indicador para a próxima consulta. Neste caso, é recomendável definir IncludeBookmark como $false, de forma que o objeto não seja incluído nos dois conjuntos de resultados.

ResultSize

O parâmetro ResultSize especifica o número de resultados a serem exibidos por página. Se você não especificar um valor, o tamanho padrão de resultados de 1.000 objetos será usado. O Exchange Server 2007 limita o conjunto de resultados a 250.000.

ReturnPageInfo

O parâmetro ReturnPageInfo é oculto. Ele retorna informações sobre o número total de resultados e o índice do primeiro objeto da página atual. O valor padrão é $false.

SearchForward

O parâmetro SearchForward especifica se deseja pesquisar para frente ou para trás no conjunto de resultados. Esse parâmetro não afeta a ordem em que o conjunto de resultados é retornado. Ele determina a direção de cada pesquisa em relação ao índice ou objeto indicador. Se nenhum índice ou objeto indicador for especificado, o parâmetro SearchForward determinará se a pesquisa começa a partir do primeiro ou do último objeto no conjunto de resultados. O valor padrão deste parâmetro é $true. Se o parâmetro SearchForward for definido como $true e um indicador for especificado, a consulta pesquisará para frente a partir desse indicador. Se você usar essa configuração e não houver resultados depois do indicador, a consulta retornará a última página completa de resultados. Se o parâmetro SearchForward for definido como $false e um indicador for especificado, a consulta pesquisará para trás a partir desse indicador. Se você usar essa configuração e houver menos de uma página completa de resultados depois do indicador, a consulta retornará a primeira página completa de resultados.

SortOrder

O parâmetro SortOrder especifica uma matriz de propriedades de mensagens usadas para controlar a ordem de classificação do conjunto de resultados. As propriedades da ordem de classificação são especificadas na ordem decrescente de precedência. Cada propriedade é separada por uma vírgula e um símbolo de + é acrescentado para classificar na ordem crescente ou um símbolo de - para classificar na ordem decrescente. Se uma ordem de classificação explícita não for especificada por meio desse parâmetro, os registros que correspondem à consulta serão exibidos e classificados pelo campo Identity do respectivo tipo de objeto. Os resultados são sempre classificados por identidade na ordem crescente quando uma ordem de classificação não é explicitamente especificada.

O exemplo de código a seguir mostra como usar os parâmetros de paginação avançada em uma consulta. Neste exemplo, o comando conecta ao servidor especificado e recupera um conjunto de resultados que contém 500 objetos. Os resultados são exibidos em uma ordem classificada, primeiro na ordem crescente por endereço do remetente e, em seguida, na ordem decrescente de tamanho da mensagem:

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

Se você desejar exibir páginas sucessivas, poderá definir um indicador para o último objeto recuperado em um conjunto de resultados e executar uma consulta adicional. É necessário usar os recursos de script do Shell de Gerenciamento do Exchange para executar este procedimento.

O exemplo a seguir usa script para recuperar a primeira página de resultados, define o objeto indicador, exclui o objeto indicador do conjunto de resultados e, em seguida, recupera os próximos 500 objetos no servidor especificado.

Exemplo: Como usar script para definir um objeto indicador

  1. Abra o Shell de Gerenciamento do Exchange e digite o seguinte comando para recuperar a primeira página de resultados:

    $Results=Get-message -Server Exchange.Contoso.com -ResultSize 500 -SortOrder +FromAddress,-Size
    
  2. Para definir o objeto indicador, digite o seguinte comando para salvar o último elemento da primeira página em uma variável:

    $temp=$results[$results.length-1]
    
  3. Para recuperar os próximos 500 objetos no servidor especificado e excluir o objeto indicador, digite o seguinte comando:

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

Para obter mais informações