Suspend-Queue
Applies to: Exchange Server 2007 SP1, Exchange Server 2007 SP2, Exchange Server 2007 SP3
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> [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]
Suspend-Queue -Filter <String> [-Confirm [<SwitchParameter>]] [-Server <ServerIdParameter>] [-WhatIf [<SwitchParameter>]]
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.
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. |
Confirm |
Optional |
System.Management.Automation.SwitchParameter |
The Confirm parameter causes the command to pause processing and requires you to acknowledge what the command will do before processing continues. You don't have to specify a value with the Confirm parameter. |
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. |
WhatIf |
Optional |
System.Management.Automation.SwitchParameter |
The WhatIf parameter instructs the command to simulate the actions that it would take on the object. By using the WhatIf parameter, you can view what changes would occur without having to apply any of those changes. You don't have to specify a value with the WhatIf parameter. |
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.
Suspend-Queue -Filter {NextHopDomain -eq "contoso.com" -and Status -eq "retry"}
Suspend-Queue -Server ExchSrv1.contoso.com -Filter {MessageCount -gt 100}