Как я могу автоматизировать создание очереди сообщений MSMQ?

4054
Lodra

Мне нужно создавать много очередей сообщений (MSMQ) на регулярной основе, поэтому я хочу автоматизировать процесс. Я бы предпочел использовать летучую мышь, но я также открыт для других идей. К сожалению, я не могу найти какую-либо информацию о том, как это сделать. Весь мой поиск возвращает результаты о pkgmgr.exe и установке MSMQ. Ничего общего с созданием очереди.

Для справки, я буду использовать это на Windows 7 и Server 2008R2. Есть идеи?

3
Привет, Лодра, мне было интересно, есть ли у тебя какие-либо отзывы, положительные или отрицательные, по поводу моего предложенного решения? dsolimano 12 лет назад 0

1 ответ на вопрос

3
dsolimano

Если вы открыты для PowerShell, у вас есть доступ ко всем классам System.Messaging в .Net Framework. Я считаю, что современные версии Windows поставляются с PowerShell как частью операционной системы, по крайней мере, согласно Википедии :

PowerShell v2.0 был завершен и выпущен в производство в августе 2009 года как неотъемлемая часть Windows 7 и Windows Server 2008 R2.

Этот вопрос StackOverflow, например, о настройке разрешений для очереди, также содержит пример создания очереди.

Write-Host "... create a new queue" $q1 = [System.Messaging.MessageQueue]::Create(".\private$\MyQueue")  Write-Host "... create new queue, set FullControl permissions for RBC\BIZTALK" $qb = [System.Messaging.MessageQueue]::Create(".\private$\BtsQueue")  $qb.SetPermissions("RBC\BIZTALK",  [System.Messaging.MessageQueueAccessRights]::FullControl,  [System.Messaging.AccessControlEntryType]::Set) 

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

Другой полезной ссылкой может быть этот вопрос SU, касающийся удаления очередей из VBScript. Я недостаточно знаком с MSMQApplicationобъектом, на который ссылаются, но, вероятно, если очереди могут быть удалены, они могут быть созданы.

Я полностью забыл об этом. Очень поздно с моей стороны, но это отлично сработало для меня. Upvote Lodra 11 лет назад 0
Да, я тоже забыл об этом. Рад быть полезным. dsolimano 11 лет назад 0