Applies to: Exchange Server 2007
Topic Last Modified: 2007-06-08
Use the Suspend-Message cmdlet to prevent delivery of a particular message in a queue on a computer that has the Hub Transport server role or the Edge Transport server role installed.
Syntax
Suspend-Message -Identity <MessageIdentity>
|
Suspend-Message -Filter <String> [-Server
<ServerIdParameter>]
|
Parameters
Parameter | Required | Type | Description |
---|---|---|---|
Filter |
Required |
System.String |
The Filter parameter requires an expression that specifies the property value criteria for the messages that you want to suspend. The expression includes a property name that is followed by a comparison operator and value. The following message properties are valid criteria for the Filter parameter:
You can specify multiple filter criteria by using the -and comparison operator. Property values that are not expressed as a single integer must be enclosed in quotation marks. |
Identity |
Required |
Microsoft.Exchange.Data.QueueViewer.MessageIdentity |
Use the Identity parameter to specify the MessageIdentity integer that represents a particular message and an optional server and queue identity. The syntax for this parameter is as follows:
|
Server |
Optional |
Microsoft.Exchange.Configuration.Tasks.ServerIdParameter |
Use the Server parameter to specify the name of the server to connect to by using remote procedure call (RPC) that contains the queues that hold the messages that you want to suspend. Enter the server name as a host name or a fully qualified domain name (FQDN). If this parameter is not used, the local server is queried. |
Detailed Description
The Suspend-Message cmdlet prevents delivery of one or more messages that are in a queue on the Hub Transport server or the Edge Transport server. A message that is already in delivery will not be suspended. Delivery will continue and the message status will be PendingSuspend. If the delivery fails, the message will re-enter the queue and it will then be suspended. You cannot suspend a message that is in the Submission queue or in the poison message queue.
A message that is being sent to multiple recipients might be located in multiple queues. If you specify an Identity parameter, the message will be suspended in a single queue if that identity matches only a single message. If the identity matches more than one message, you will receive an error. To suspend a message in more than one queue in a single operation, you must use a filter. You must use an Identity parameter or a Filter parameter. These two parameter sets are mutually exclusive.
You can suspend a message on a remote server by including the server name as part of the Identity parameter or by using the Server parameter with the Filter parameter. If you do not specify a server, the command runs against only the local server.
To run the Suspend-Message cmdlet, the account you use must be delegated the Exchange Server Administrator role and local Administrators group for the target server.
To run the Suspend-Message cmdlet on a computer that has the Edge Transport server role installed, you must log on by using an account that is a member of the local Administrators group on that computer.
For more information about permissions, delegating roles, and the rights that are required to administer Microsoft Exchange Server 2007, see Permission Considerations.
Input Types
Return Types
Errors
Error | Description |
---|---|
|
|
Exceptions
Exceptions | Description |
---|---|
|
|
Example
The following example shows how to prevent delivery of all messages for which the following conditions are true:
- The messages are sent from the specified sender's SMTP
address.
- The messages are queued on the Hub Transport server or the Edge
Transport server on which the command is run.
For more information about how to use the Exchange Management Shell to perform queue viewer tasks, see Using the Exchange Management Shell to Manage Queues.
Copy Code | |
---|---|
Suspend-Message -Filter {FromAddress -eq "sender@contoso.com"} |