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:

  • DeliveryType   The delivery type for this queue as defined by transport. The delivery type must be one of the following values:

    • DNSConnectorDelivery

    • NonSMTPGatewayDelivery

    • SmartHostConnectorDelivery

    • SmtpRelayWithinAdSitetoEdge

    • MapiDelivery

    • SmtpRelayWithinAdSite

    • SmtpRelaytoRemoteAdSite

    • SmtpRelaytoTiRg

    • Undefined

    • Unreachable

  • Identity   Enter the queue identity in the form of Server\destination, where destination is a remote domain, mailbox server, or persistent queue name.

  • LastError   A text string of the last error recorded for a queue.

  • LastRetryTime   The time when a connection was last tried for this queue.

  • MessageCount   The number of items in the queue.

  • NextHopConnector   The GUID of the connector that was used to create the queue.

  • NextHopDomain   The next hop domain of the queue, specified as a remote Simple Mail Transfer Protocol (SMTP) domain, a server name, the name of an Active Directory site, or a message database (MDB) identifier.

  • NextRetryTime   The time when a connection will next be tried for this queue.

  • Status   The status of the queue. Queue status options are Active, Ready, Retry, or Suspended.

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}