我需要定期创建许多消息队列 (MSMQ),因此我想使该过程自动化。我更喜欢使用 bat,但我也愿意接受其他想法。不幸的是,我找不到有关如何执行此操作的任何信息。我的所有搜索都返回有关 pkgmgr.exe 和安装 MSMQ 的结果。没有关于实际创建队列的信息。
作为参考,我将在 Windows 7 和 Server 2008R2 上使用它。有什么想法吗?
答案1
如果你愿意电源外壳,您可以访问所有系统消息.Net 框架中的类。我相信 Windows 的现代版本将 PowerShell 作为操作系统的一部分,至少根据维基百科:
PowerShell v2.0 于 2009 年 8 月完成并发布制造,作为 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 问题MSMQApplication
,这是关于从 VBScript 中删除队列的。我对所引用的对象不够熟悉,但据推测,如果可以删除队列,那么也可以创建队列。