1

Как было представлено в командлетах MSMQ (https://technet.microsoft.com/en-us/library/hh405007(v=vs.85).aspx), теперь у нас есть возможность запрашивать нашу очередь. Если я бегу

PS C:\Get-MsmqQueue

Затем я получаю полный список всех объектов очереди в системе. Хорошо.

Если я бегу

PS C:\Get-MsmqQueue -QueueType Private

Затем я получаю полный список всех объектов Private queue в системе. Здорово.

Тем не мение...Если я бегу

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

Я ничего не получаю ... хотя я использую правильное имя ... так что, в свою очередь, работает

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

Кроме того, я ничего не получаю ... что я действительно хотел бы получить этот список записей журнала.

Совет? Истории успеха?

1 ответ1

1

Я вижу, что пост довольно старый, но, может быть, он кому-нибудь поможет, потому что я долго искал его, когда приходил к решению.

Чтобы получить свойства очереди, вы можете запустить без указания пути "private $\"

PS C:\Get-MsmqQueue -Name mt_queuename_request_001

Боюсь, что нет возможности читать сообщения в очередях с помощью командлетов PS.

Для чтения и управления сообщениями в MSMQ я использую следующее:

# 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()

С уважением, E

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .