Applies to: Exchange Server 2007
Topic Last Modified: 2007-06-08
Use the Suspend-Queue cmdlet to stop outbound activities for a queue on a computer that has the Hub Transport server role or the Edge Transport server role installed.
Syntax
Suspend-Queue -Identity <QueueIdentity>
|
Suspend-Queue -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 queues that you want to suspend. The expression includes a property name that is followed by a comparison operator and value. The following queue properties are valid criteria for the Filter parameter:
You can specify multiple criteria by using the - and comparison operator. Property values that are not expressed as an integer must be enclosed in quotation marks. |
Identity |
Required |
Microsoft.Exchange.Data.QueueViewer.QueueIdentity |
Use the Identity parameter to specify the identity of the queue that contains the messages that you want to suspend. Enter the queue identity in the form of Server\destination, where destination is a remote domain, mailbox server, or persistent queue name. |
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-Queue cmdlet stops outbound activities on a queue that has a status of Active or Retry. Messages that are in delivery through SMTP-send will finish operations. No additional messages will leave the queue. If you specify an Identity parameter, the queue will be suspended if the identity matches only a single queue. If the identity matches more than one queue, you will receive an error. To suspend more than one queue in a single operation, you must use a filter.
You must use an Identity parameter or a Filter parameter. The Identity and Filter parameter sets are mutually exclusive. You can suspend a queue on a remote server by including the server name as part of the Identity parameter or by using the Server parameter with a filter query. If you do not specify a server, the command runs against only the local server.
To run the Suspend-Queue cmdlet, the account you use must be delegated the following:
- Exchange Server Administrator role and local Administrators
group for the target server
To run the Suspend-Queue 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 two Suspend-Queue commands. The first command suspends outgoing activities on all queues that are holding messages for delivery to the specified domain and that currently have a status of Retry.
The second command binds to a remote server by using RPC and suspends all queues that have more than 100 messages in the queue.
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-Queue -Filter {NextHopDomain -eq "contoso.com" -and Status -eq "retry"} Suspend-Queue -Server ExchSrv1.contoso.com -Filter {MessageCount -gt 100} |