Accessing MSMQ via PowerShell

If you click up one level in the link you provided you'll see that you're looking at pre-release PowerShell 4.0 module documentation. Here's the link to the parent page.

https://web.archive.org/web/20131029215718/http://technet.microsoft.com/en-us/library/dn249523.aspx

PowerShell Community Extensions (PSCX) has some cmdlets for working with MSMQ, and it works with PowerShell 2.0, though.


The below method works in Powershell 2.0:

$query = "SELECT MessagesinQueue FROM Win32_PerfRawData_MSMQ_MSMQQueue WHERE Name = 'myPrivateQueueName'"
$wmiObject = Get-WmiObject -Query $query
$wmiObject.MessagesinQueue

You can list the queues with this query:

$query = "SELECT * FROM Win32_PerfRawData_MSMQ_MSMQQueue"

Look at the __PATH property which will end in .Name="theQueueName"