No Windows 8, como posso retornar todas as entradas do Diário do MSMQ para a Fila nomeada no powershell?

1

Conforme apresentado nos Cmdlets do MSMQ ( link ), agora temos a capacidade de consultar nossa fila. Se eu correr

PS C:\Get-MsmqQueue

Depois, obtenho uma lista completa de todos os objetos de fila no sistema. Bom.

Se eu correr

PS C:\Get-MsmqQueue -QueueType Private

Depois, obtenho uma lista completa de todos os objetos da fila particular no sistema. Legal.

No entanto ... Se eu correr

PS C:\Get-MsmqQueue -Name private$\mt_queuename_request_001

Eu não recebo nada de volta ... mesmo usando um nome válido ... então, por sua vez, executando

PS C:\Get-MsmqQueue -Name private$\mt_queuename_request_001 -Journal

Também não me dá nada ... o que eu realmente gostaria de poder obter esta lista de entradas de diário.

Conselhos? Histórias de sucesso?

    
por beauXjames 06.04.2015 / 15:55

1 resposta

1

Eu vejo que o post é bem antigo, mas talvez ele ajude alguém, porque eu estava procurando por ele por muito tempo enquanto procurava a solução.

Para obter as propriedades da fila, você pode executar sem especificar o caminho "private $ \"

PS C:\Get-MsmqQueue -Name mt_queuename_request_001

Não há como ler mensagens em filas usando cmdlets do PS.

Para ler e manipular mensagens no MSMQ, estou usando o seguinte:

# Load Messaging Assembly
[Reflection.Assembly]::LoadWithPartialName("System.Messaging") | Out-Null

# Get Queue Messages
$queuePath = ("SERVER01\mt_queuename_request_001")
$queue = New-Object System.Messaging.MessageQueue $queuePath
$queue.GetAllMessages()

# Get Journal Messages
$queuePath = ("SERVER01\mt_queuename_request_001;JOURNAL")
$queue = New-Object System.Messaging.MessageQueue $queuePath
$queue.GetAllMessages()

Atenciosamente, E

    
por 01.03.2017 / 16:36