Usando o Shell de Gerenciamento do Exchange para gerenciar filas
Aplica-se a: Exchange Server 2010
Tópico modificado em: 2009-12-07
Este tópico explica como você pode usar os cmdlets e os conjuntos de parâmetros do Shell de Gerenciamento do Exchange 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 Noções Básicas Sobre Filas de Transporte.
No Microsoft Exchange Server 2010, você pode usar o Shell para realizar tarefas de configuração e gerenciamento e criar scripts para automatizar tarefas. Você também pode usar o Shell 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 mais informações sobre como usar o Shell, consulte Shell de gerenciamento do Exchange.
Procurando tarefas de gerenciamento relacionadas a filas? Consulte Gerenciando Filas de Transporte.
Sumário
Gerenciando filas e mensagens
Cmdlets de Fila
Conjuntos de parâmetros de tarefa de fila
Gerenciando filas e mensagens
As tarefas de filas são agrupadas em duas categorias:
- 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 alteram o status de filas e mensagens.
Os dois tipos de tarefas acessam dados, conectando ao processo de trabalho de transporte por meio da chamada de procedimento remoto (RPC).
Por padrão, o Visualizador de filas focaliza o banco de dados de enfileiramento localizado no servidor ao qual o Visualizador de Filas se conecta para executar as tarefas. No entanto, você pode se conectar a um servidor diferente daquele em que está executando as tarefas do Visualizador de Filas.
Para obter mais informações sobre o processo de transporte do Exchange 2010, consulte Noções Básicas Sobre o Pipeline de Transporte. Para obter mais informações sobre como usar o Shell para visualizar filas e mensagens, consulte Exibir Filas e Exibir Propriedades das Mensagens em Fila.
Retornar ao início
Cmdlets de Fila
A seguinte tabela lista os cmdlets que estão disponíveis no Shell 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.
Cmdlets de fila
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. |
|
Get-Message |
Esse cmdlet exibe os detalhes das mensagens atualmente na fila para entrega. O cmdlet Get-Message pode ser usado para recuperar um conjunto de mensagens e, em seguida, canalizar os resultados para um dos outros cmdlets de gerenciamento de mensagens. |
|
Get-Queue |
Esse cmdlet exibe os detalhes de configuração das filas 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 outros cmdlets de gerenciamento de fila. |
|
Remove-Message |
Esse cmdlet exclui uma mensagem de uma fila. Você pode selecionar se uma notificação de falha na entrega é enviada. |
|
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-Queue |
Esse cmdlet retoma as entregas de mensagens de uma fila suspensa anteriormente. |
|
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. |
|
Suspend-Message |
Esse cmdlet suspende a entrega de uma mensagem que está localizada em uma fila de um servidor de transporte do Exchange 2010. |
|
Suspend-Queue |
Esse cmdlet suspende as atividades de saída de uma fila presente em um servidor de transporte do Exchange 2010. |
Retornar ao início
Conjuntos de parâmetros de tarefa de fila
As tarefas de filas oferecem suporte a vários conjuntos de parâmetros. Esses conjuntos de parâmetros são: Identity, Filter e Queue. Os conjuntos de parâmetros Identity, Filter e Queue não podem ser combinados em um comando. O conjunto de parâmetros Queue está disponível apenas com comandos de mensagens.
Você também pode usar os parâmetros de paginação avançada que estão disponíveis no Shell em combinação com os conjuntos de parâmetros Identity, Filter e Queue. 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 em "Parâmetros de paginação avançada", posteriormente neste tópico.
Você deve usar um conjunto de parâmetros Identity, Filter ou Queue 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.
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 Identity 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 seguinte.
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 está localizada no servidor local. |
Servidor\Poison |
A fila de mensagens suspeitas 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 encaminhados 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 Extensible Storage Engine (ESE) (antes conhecido como 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 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 a seguir fornece exemplos de uma identidade de mensagem válida.
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 suspeitas. |
MessageJetID |
Todas as mensagens que têm essa identidade de banco de dados e são encaminhadas para qualquer fila no servidor local (uma mensagem encaminhada para várias filas). |
Servidor\*\MessageJetID |
Todas as mensagens que têm essa identidade de banco de dados e são encaminhadas 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
Parâmetro Filter
As tarefas de filas oferecem suporte ao parâmetro Filter para que você possa especificar critérios de 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:
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. Você pode recuperar 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.
Quando for utilizar o parâmetro Queue com um comando de mensagem, use o formato de identidade da fila da tabela em "Identidade da fila" já mencionada neste tópico. 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
Parâmetros de paginação avançados
Dependendo do fluxo de mensagens atual, as consultas em filas e mensagens podem retornar um conjunto de objetos 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 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âmetrosBookmarkIndex 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 a seguir descreve os parâmetros de paginação avançada.
Parâmetros de paginação avançados
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 o parâmetro BookmarkObject e o parâmetro 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 |
ResultSize |
O parâmetro ResultSize especifica o número de resultados a serem exibidos por página. Se não for especificado um valor o tamanho do resultado padrão de 1.000 objetos será usado. Exchange 2010 limita o conjunto de resultados em 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 é |
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 é Se o parâmetro SearchForward for definido como |
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 sinal de mais (+) é acrescentado para classificar em ordem crescente ou um sinal de menos (-), para classificar em 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 Identidade 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 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.
Abra o Shell 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
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]
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
Retornar ao início