Receive-MsmqQueue
Receive-MsmqQueue
Does a destructive read from a queue.
Syntax
Parameter Set: Transactional
Receive-MsmqQueue -InputObject <MessageQueue> [-Count <Int32> ] [-RetrieveBody] [-Timeout <TimeSpan> ] [-Transactional] [ <CommonParameters>]
Parameter Set: Peek
Receive-MsmqQueue -InputObject <MessageQueue> [-Count <Int32> ] [-Peek] [-RetrieveBody] [-Timeout <TimeSpan> ] [ <CommonParameters>]
Detailed Description
The Receive-MsmqQueue cmdlet does a destructive read from a queue. The Name parameter accepts path names, format names and direct format names, unlike other MSMQ cmdlets that accept only a friendly name for the queue. If –Peek is specified, the cmdlet peeks at the message instead of doing a destructive read. The cmdlet also writes the received System.Messaging.Message object to the pipeline.The cmdlet succeeds when at least one messages is returned.If the parameter -Peek is supplied, the number of messages returned by the cmdlet is the minimum of the number supplied by the parameter -Count and the number of messages in the queue.
Parameters
-Count<Int32>
Specifies the number of messages to be returned. Default is 1. Value must be greater than 0.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
|
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-InputObject<MessageQueue>
A MessageQueue object that represents the queue from which the message will be read from. Accepts pipelined input.
Aliases |
none |
Required? |
true |
Position? |
named |
Default Value |
|
Accept Pipeline Input? |
true (ByValue) |
Accept Wildcard Characters? |
false |
-Peek
If specified, returns a copy of the first message in the queue without removing the message from the queue.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
|
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-RetrieveBody
If specified, returns the body of the message.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
|
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-Timeout<TimeSpan>
The time in milliseconds that specifies the maximum time to wait for the queue to contain a message. The default is 0.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
|
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-Transactional
If specified, the cmdlet performs a transacted receive.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
|
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
<CommonParameters>
This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see about_CommonParameters
Examples
Usage Scenario
PS C:\> Get-MsmqMessage –Name “a04bm10\private$\order_queue” | Receive-MsmqQueue –Transactional -Peek