3

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

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

1 ответ1

3

Если вы открыты для PowerShell, у вас есть доступ ко всей Системе.Классы обмена сообщениями в .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 , на который ссылаются, но, вероятно, если очереди могут быть удалены, они могут быть созданы.

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