Utilisation d'Exchange Management Shell pour la gestion des files d'attente

 

S’applique à : Exchange Server 2010 SP2, Exchange Server 2010 SP3

Dernière rubrique modifiée : 2015-03-09

Cette rubrique décrit l’utilisation des cmdlets et des jeux de paramètres d’Exchange Management Shell pour créer une requête, récupérer des résultats et effectuer des actions de modification. Pour plus d’informations sur les tâches de file d’attente et leur utilisation pour le contrôle et le dépannage, consultez la rubrique Présentation des files d'attente de transport.

Dans Microsoft Exchange Server 2010, vous pouvez utiliser l’environnement de ligne de commande Exchange Management Shell pour effectuer des tâches de gestion et de configuration et pour créer des scripts pour l’automatisation des tâches. Vous pouvez également utiliser l’environnement de ligne de commande Exchange Management Shell pour afficher des informations sur les files d’attente d’un serveur et les messages présents dans ces files d’attente et pour effectuer des actions de gestion sur les files d’attente et les messages. Ces opérations sont utiles au dépannage du flux des messages et à l’identification du courrier indésirable. Pour plus d’informations sur l’utilisation de l’environnement de ligne de commande Exchange Management Shell, voir Utilisation de PowerShell avec Exchange 2010 (environnement de ligne de commande Exchange Management Shell).

Souhaitez-vous rechercher les tâches de gestion relatives aux files d’attente ? Voir Gestion des files de transport.

Contenu de cette rubrique

Gestion de files d’attente et de messages

Cmdlets de file d’attente

Jeux de paramètres des tâches de file d’attente

Gestion de files d’attente et de messages

Les tâches de file d’attente sont regroupées en deux catégories :

  • Les actions d’affichage permettent d’afficher les files d’attente et les messages en file d’attente sur le serveur, ainsi que de sélectionner le regroupement et le tri des données lors de leur affichage.

  • Les actions de modification changent l’état des files d’attente et des messages.

Les deux types de tâche accèdent aux données en se connectant au processus de travail de transport en utilisant un appel de procédure distante (RPC).

Par défaut, l’Afficheur des files d’attente s’appuie sur la base de données des files d’attente située sur le serveur auquel l’Afficheur des files d’attente se connecte pour exécuter les tâches. Toutefois, vous pouvez vous connecter à un autre serveur que celui sur lequel vous exécutez les tâches de l’Afficheur des tâches.

Pour plus d’informations sur le processus de transport Exchange 2010, consultez la rubrique Présentation du pipeline de transport. Pour plus d’informations sur l’utilisation de l’environnement de ligne de commande Exchange Management Shell pour afficher les files d’attente et les messages, consultez les rubriques Affichage des files d’attente et Afficher les propriétés des messages en file d’attente.

Retour au début

Cmdlets de file d’attente

Le tableau suivant répertorie les cmdlets disponibles dans l’environnement de ligne de commande Exchange Management Shell pour la gestion des files d’attente et des messages dans les files d’attente. Pour plus d’informations sur l’utilisation de chaque cmdlet, consultez les rubriques d’aide répertoriées dans la colonne Pour plus d’informations.

Cmdlets de file d’attente

Cmdlet Utilisation Pour plus d’informations

Export-Message

Cette cmdlet enregistre une copie d’un message dans un emplacement de fichier défini par un administrateur.

Export-Message

Exporter les messages à partir des files d’attente

Get-Message

Cette cmdlet affiche les détails des messages actuellement en file d’attente pour remise. Vous pouvez utiliser la cmdlet Get-Message pour récupérer un jeu de messages, puis diriger les résultats vers l’une des autres cmdlets de gestion de messages.

Get-Message

Afficher les propriétés des messages en file d’attente

Get-Queue

Cette cmdlet affiche les détails de la configuration des files d’attente sur les serveurs de transport. Vous pouvez utiliser la cmdlet Get-Queue pour récupérer un jeu de files d’attente, puis diriger les résultats vers l’une des autres cmdlets de gestion de messages.

Get-Queue

Affichage des files d’attente

Remove-Message

Cette cmdlet supprime un message d’une file d’attente. Vous pouvez choisir l’envoi ou non d’une notification d’échec de remise.

Remove-Message

Supprimer les messages à partir des files d’attente

Resume-Message

Cette cmdlet reprend la remise d’un message précédemment suspendu. La cmdlet Resume-Message permet également de renvoyer les messages de la file d’attente des messages incohérents dans la file d’attente de soumission afin que le catégoriseur les traite une nouvelle fois.

Resume-Message

Reprendre les messages

Envoyer à nouveau les messages dans les files d’attente

Resume-Queue

Cette cmdlet reprend la remise de messages d’une file d’attente précédemment suspendue.

Resume-Queue

Reprendre les files d’attente

Retry-Queue

Cette cmdlet force une tentative de connexion à une file d’attente dont l’état actuel est Retry. Cette tentative de connexion remplace la prochaine tentative planifiée. La cmdlet Retry-Queue utilisée avec le paramètre Resubmit permet d’envoyer les messages figurant dans les files d’attente de remise ou dans la file d’attente inaccessible à la file d’attente de soumission afin que le catégoriseur les traite une nouvelle fois.

Retry-Queue

Files d’attente de nouvelles tentatives

Envoyer à nouveau les messages dans les files d’attente

Suspend-Message

Cette cmdlet suspend la remise d’un message qui se trouve dans une file d’attente sur un serveur de transport Exchange 2010.

Suspend-Message

Interrompre les messages

Suspend-Queue

Cette cmdlet suspend les activités sortantes d’une file d’attente se trouvant sur un serveur de transport Exchange 2010.

Suspend-Queue

Interrompre les files d’attente

Retour au début

Jeux de paramètres des tâches de file d’attente

Les tâches de file d’attente prennent en charge plusieurs jeux de paramètres. Ces jeux de paramètres sont les suivants : Identity, Filter et Queue. Les jeux de paramètres Identity, Filter et Queue ne peuvent pas être associés dans une commande. Le jeu de paramètres Queue est uniquement disponible avec les commandes de messages.

Vous pouvez également utiliser les paramètres de pagination avancée disponibles dans l’environnement de ligne de commande Exchange Management Shell en association avec les jeux de paramètres Identity, Filter et Queue. Les paramètres de pagination avancée sont utilisés avec les cmdlets Get-Message et Get-Queue pour contrôler le tri et l’affichage des résultats. Les paramètres de pagination avancée sont décrits dans un tableau de la section « Paramètres de pagination avancée » plus loin dans cette rubrique.

Vous devez utiliser un jeu de paramètres Identity, Filter ou Queue lorsque vous utilisez une commande qui modifie des messages ou des files d’attente. Si vous ne fournissez aucun paramètre, les cmdlets Get-Message et Get-Queue affichent chaque objet message ou file d’attente qui existe sur le serveur local.

Si le jeu de résultats pour une requête de file d’attente ou de message contient plus de 250 000 éléments et qu’une erreur se produit, vous serez invité à appliquer un filtre pour réduire le nombre de résultats.

Paramètre Identity

Lorsque le message ou la file d’attente spécifique que vous voulez afficher ou sur lequel vous voulez agir est connu, utilisez le paramètre Identity. La recherche par identité est plus rapide que la formulation de cette même requête dans un filtre.

Le nom de serveur peut s’exprimer sous la forme d’un nom d’hôte ou d’un nom de domaine complet (FQDN). Vous pouvez entrer le nom d’un serveur distant comme partie de l’identité pour initier une connexion RPC à ce serveur, de telle sorte que vous pouvez interroger les files d’attente sur ce serveur. Si vous n’utilisez pas de nom de serveur, l’hôte local est implicite.

Lorsqu’une identité est fournie pour une action de modification, l’objet qui est identifié doit être unique et entièrement défini. Si l’identité n’est pas explicite, l’action n’est pas effectuée. Si vous omettez la partie serveur de l’identité, on suppose qu’il s’agit de l’ordinateur local.

Lorsque vous utilisez le paramètre Identity comme faisant partie d’une cmdlet Get-Queue ou Get-Message, le paramètre Identity prend en charge l’utilisation d’expressions génériques.

Identité de la file d’attente

Les files d’attente persistantes ont des noms uniques et peuvent être spécifiées par nom. Les files d’attente de remise sont affectées à une identité de base de données unique. Vous pouvez utiliser cette identité de base de données pour spécifier une file d’attente ou vous pouvez utiliser le nom de la destination de remise pour spécifier une file d’attente. Pour effectuer une opération sur une file d’attente en spécifiant son identité de base de données unique, vous devez d’abord exécuter la cmdlet Get-Queue. L’identité de base de données est renvoyée dans les résultats. Les formats d’identité acceptés pour les files d’attente sont affichés dans le tableau suivant.

Formats d’identité des files d’attente

Format d’identité des files d’attente Utilisation

Server\QueueJetID (Int64)

Identité unique et complète pour une file d’attente de remise

\QueueJetID

Identité d’une file d’attente sur un serveur local. Le nom de serveur est omis. Par conséquent, le serveur local est implicite.

Server\*

Toute file d’attente sur le serveur spécifié

Server\NextHopDomain

Une file d’attente sur le serveur spécifié contenant des messages à remettre à un domaine distant spécifique

\NextHopDomain

Une file d’attente contenant des messages destinés à un domaine spécifique et se trouvant sur le serveur local

Server\Poison

La file d’attente des messages incohérents se trouvant sur le serveur spécifié

Server\Submission

La file d’attente contenant les éléments qui attendent d’être traités par le catégoriseur

Server\Unreachable

La file d’attente contenant les éléments qui ne peuvent pas être routés et se trouvant sur le serveur spécifié

Le code suivant est un exemple d’utilisation d’une identité de file d’attente avec la cmdlet Get-Queue. Cet exemple renvoie une liste de toutes les files d’attente contenant des messages à remettre aux noms de domaine du protocole SMTP qui se terminent par Contoso.com. Cet exemple formate également le jeu de résultats sous la forme d’une liste détaillée.

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

Identité du message

L’identité d’un message est un regroupement du message de base de données unique et de l’identité de file d’attente. Une identité, sous la forme d’un nombre entier, est affectée à un message lorsque celui-ci entre dans la base de données ESE (Extensible Storage Engine) de files d’attente (appelée auparavant Jet), et ce nombre entier est ajouté à l’identité de file d’attente pour créer l’identité du message.

Pour effectuer une opération sur un message en spécifiant son identité de base de données, vous devez d’abord exécuter la cmdlet Get-Message. L’identité est retournée dans les résultats. Si vous voulez vous connecter à un serveur distant, vous pouvez inclure le nom de serveur comme partie de l’identité du message. Si le nom de serveur est omis, on suppose qu’il s’agit du serveur local.

Un message envoyé à plusieurs destinataires peut se trouver dans plusieurs files d’attente. Vous pouvez utiliser un caractère générique pour spécifier que vous voulez localiser le message dans chaque file d’attente vers laquelle le message a été routé. Le tableau suivant fournit des exemples d’identité de message valide.

Formats d’identité des messages

Format d’identité des messages Utilisation

Server\QueueJetId\MessageJetID

Dénomination complète d’un message dans une file d’attente

Server\Poison\MessageJetID

Un message se trouvant dans la file d’attente des messages incohérents

MessageJetID

Tous les messages ayant cette identité de base de données et étant routés vers une file d’attente sur le serveur local (un message peut être routé vers plusieurs files d’attente)

Server\*\MessageJetID

Tous les messages ayant cette identité de base de données et étant routés sur une file d’attente sur le serveur spécifié

Le code suivant est un exemple d’utilisation d’une identité de message avec la cmdlet Get-Message. Cet exemple retourne une liste de tous les messages qui ont l’identité spécifique et sont localisés dans une des files d’attente sur le serveur spécifié. Cet exemple formate également le jeu de résultats sous la forme d’une liste détaillée.

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

Paramètre Filter

Les tâches de file d’attente prennent en charge le paramètre Filter pour vous permettre de spécifier les critères pour lesquels les files d’attente et les messages doivent être récupérés. Les propriétés des files d’attente et des messages sont utilisées comme critères de filtrage. Créez un filtre pour afficher un jeu de files d’attente ou de messages limité. Une fois que vous avez localisé les files d’attente et les messages que vous voulez surveiller, vous pouvez afficher les informations de propriété pour chaque objet. Ces informations sont utiles pour le dépannage des problèmes de flux des messages.

Pour fournir une expression avec des opérateurs logiques et relationnels de telle sorte que seuls les objets file d’attente ou message qui répondent aux critères de filtrage sont affichés, utilisez le paramètre Filter. Pour spécifier plusieurs conditions auxquelles les résultats devront répondre, vous pouvez utiliser l’opérateur logique -and. Si vous utilisez l’opérateur -and, seuls les objets qui répondent à toutes les conditions spécifiées de l’expression sont affichés. Un sous-ensemble des propriétés d’un message ou d’une file d’attente est utilisé pour spécifier les critères de filtrage. Lorsque vous spécifiez une propriété, cela doit être une propriété valide pour l’objet pour lequel vous effectuez des requêtes et la valeur à respecter doit être exprimée en utilisant la syntaxe correcte. Lorsqu’une valeur de propriété n’est pas exprimée comme un simple nombre entier, assurez-vous qu’il est entre guillemets.

Le paramètre Server peut être inclus dans une commande avec le paramètre Filter. Le paramètre Server permet de spécifier le nom d’hôte ou le nom de domaine complet du serveur auquel vous voulez vous connecter en utilisant un appel de procédure distante, afin d’interroger les files d’attente et les messages sur ce serveur et de récupérer un jeu de résultats.

Pour plus d’informations sur les propriétés qui peuvent être utilisées pour le filtrage, la syntaxe correcte de ces propriétés et les opérateurs pris en charge, consultez les rubriques suivantes :

Paramètre Queue

Le paramètre Queue est uniquement utilisé avec les commandes de message. Ce paramètre permet de spécifier l’identité de la file d’attente à partir de laquelle les messages sont récupérés. Si une file d’attente est spécifiée, tous les messages de cette file d’attente sont récupérés. Vous pouvez récupérer tous les messages à partir d’une file d’attente particulière sans avoir à utiliser une expression de filtrage. Vous pouvez récupérer les messages dans plusieurs files d’attente en utilisant un caractère générique.

Lorsque vous utilisez le paramètre Queue avec une commande de message, servez-vous du format d’identité de file d’attente du tableau de la section « Identité de la file d’attente » plus haut dans cette rubrique. L’exemple de code suivant décrit l’utilisation du paramètre Queueavec la cmdlet Get-Message. Cet exemple produit un jeu de résultats contenant uniquement les messages qui sont localisés sur le serveur spécifié et qui sont mis en attente pour la remise sur le domaine SMTP Contoso.com.

Get-message -Queue Server\Contoso.com

Paramètres de pagination avancée

En fonction du flux des messages, les requêtes sur les files d’attente et les messages peuvent renvoyer un jeu d’objets conséquent. Les paramètres de pagination avancée permettent de surveiller la récupération et l’affichage des résultats des requêtes.

Lorsque vous utilisez l’environnement de ligne de commande Exchange Management Shell pour afficher les files d’attente et les messages dans les files d’attente, votre requête récupère une page d’informations à la fois. Les paramètres de pagination avancée surveillent la taille du jeu de résultats et peuvent également être utilisés pour trier les résultats. Tous les paramètres de pagination avancée sont facultatifs et peuvent être associés à l’un des jeux de paramètres pouvant être utilisés avec les cmdlets Get-Queue et Get-Message. Si vous ne spécifiez aucun paramètre de pagination avancée, la requête renvoie les résultats dans l’ordre d’identité croissant.

Par défaut, lorsqu’un ordre de tri est spécifié, la propriété d’identité du message est toujours incluse et triée dans un ordre croissant. C’est la relation de tri par défaut. La propriété d’identité du message est incluse, car les autres propriétés qui peuvent être incluses dans un ordre de tri ne sont pas uniques. En incluant explicitement la propriété d’identité du message dans l’ordre de tri, vous pouvez spécifier que les résultats affichent l’identité du message triée en ordre décroissant.

Les paramètres BookmarkIndex et BookmarkObject permettent de marquer une position dans le jeu de résultats triés. Si l’objet signet n’existe plus lorsque la page suivante de résultats est récupérée, la relation de tri par défaut s’assure que le jeu de résultats démarre avec l’objet le plus proche du signet. L’objet le plus proche dépend de l’ordre de tri spécifié.

Le tableau suivant décrit les paramètres de pagination avancée.

Paramètres de pagination avancée

Paramètre Description

BookmarkIndex

Le paramètre BookmarkIndex permet de spécifier la position dans le jeu de résultats où l’affichage des résultats commence. La valeur du paramètre BookmarkIndex est un index basé sur 1 dans le jeu total des résultats. Si la valeur est inférieure ou égale à zéro, la première page de résultats complète est retournée. Si la valeur est définie sur Int.MaxValue, la dernière page de résultats complète est retournée.

BookmarkObject

Le paramètre BookmarkObject permet de spécifier l’objet dans le jeu de résultats où l’affichage des résultats commence. Si vous spécifiez un objet signet, il est utilisé comme point de départ de la recherche. Les lignes se trouvant avant ou après cet objet sont récupérées, en fonction de la valeur du paramètre SearchForward. Vous ne pouvez pas associer le paramètre BookmarkObject et le paramètre BookmarkIndex dans une seule requête.

IncludeBookmark

Le paramètre IncludeBookmark spécifie si l’objet signet est inclus dans le jeu de résultats. Par défaut, cette valeur est définie sur $true et l’objet signet est inclus. Vous pouvez exécuter une requête pour une taille de résultat limitée, puis spécifier le dernier élément de ce jeu de résultats comme le signet pour la prochaine requête. Dans ce cas, il se peut que vous vouliez définir IncludeBookmark sur $false afin que l’objet ne soit inclus dans aucun des deux jeux de résultats.

ResultSize

Le paramètre ResultSize spécifie le nombre de résultats à afficher par page. Si aucune valeur n’est indiquée, le résultat par défaut est 1 000 objets. Exchange 2010 limite le jeu de résultats à 250 000.

ReturnPageInfo

Le paramètre ReturnPageInfo est un paramètre caché. Il retourne les informations sur le nombre total des résultats et l’index du premier objet de la page actuelle. La valeur par défaut est $false.

SearchForward

Le paramètre SearchForward permet de spécifier le sens de la recherche dans le jeu de résultats. Ce paramètre n’affecte pas l’ordre dans lequel le jeu de résultats est renvoyé. Il détermine le sens de la recherche relative à l’index ou objet signet. Si aucun objet ou index signet n’est spécifié, le paramètre SearchForward détermine si la recherche démarre à partir du premier ou du dernier objet du jeu de résultats.

La valeur par défaut de ce paramètre est $true. Si le paramètre SearchForward est défini sur $true et qu’un signet est spécifié, la requête effectue une recherche en avant à partir de ce signet. Si vous utilisez cette configuration et qu’il n’y a aucun résultat au-delà de ce signet, la requête retourne la dernière page de résultats complète.

Si le paramètre SearchForward est défini sur $false et qu’un signet est spécifié, la requête effectue une recherche en arrière à partir de ce signet. Si vous utilisez cette configuration et qu’il y a moins d’une page de résultats complète au-delà de ce signet, la requête retourne la première page de résultats complète.

SortOrder

Le paramètre SortOrder permet de spécifier un tableau des propriétés de message qui sont utilisées pour contrôler l’ordre de tri du jeu de résultats. Les propriétés d’ordre de tri sont spécifiées dans l’ordre décroissant de priorité. Chaque propriété est séparée par une virgule et ajoutée avec un signe + pour trier dans l’ordre croissant, ou un signe - pour trier dans l’ordre décroissant.

Si un ordre de tri explicite n’est pas spécifié en utilisant ce paramètre, les enregistrements qui respectent la requête sont affichés et triés par le champ d’identité pour le type d’objet respectif. Les résultats sont toujours triés par identité dans l’ordre croissant lorsqu’un ordre de tri n’est pas explicitement spécifié.

L’exemple de code suivant décrit l’utilisation des paramètres de pagination avancée dans une requête. Dans cet exemple, la commande se connecte au serveur spécifié et récupère un jeu de résultats contenant 500 objets. Les résultats affichés sont d’abord triés par ordre croissant des adresses des expéditeurs, puis par ordre de taille de message décroissant.

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

Si vous voulez afficher les pages successives, vous pouvez définir un signet pour le dernier objet récupéré dans un jeu de résultats et exécuter une requête supplémentaire. Vous devez utiliser les fonctionnalités de script de l’environnement de ligne de commande Exchange Management Shell pour suivre cette procédure.

L’exemple suivant utilise des scripts pour récupérer la première page de résultats, définit l’objet signet, exclut l’objet signet du jeu de résultats, puis récupère les 500 objets suivants sur le serveur spécifié.

  1. Ouvrez l’environnement de ligne de commande Exchange Management Shell et tapez la commande suivante pour récupérer la première page de résultats.

    $Results=Get-message -Server Exchange.Contoso.com -ResultSize 500 -SortOrder +FromAddress,-Size
    
  2. Pour définir l’objet signet, tapez la commande suivante pour enregistrer le dernier élément de la première page dans une variable.

    $temp=$results[$results.length-1]
    
  3. Pour récupérer les 500 objets suivants sur le serveur spécifié et pour exclure l’objet signet, tapez la commande suivante.

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

Retour au début

 © 2010 Microsoft Corporation. Tous droits réservés.