1

我需要在远程机器上创建一个 PRIVATE 消息队列,并且我已经决定不能以直接的方式使用 .NET Framework 执行此操作。我可以在远程机器上创建公共消息队列,但不能创建私人消息队列。我可以在本地创建一个消息队列(公共或私有)。

我想知道是否有人知道如何通过 WMI 访问 MSMQ。

编辑:我看不出使用 MSMQ 提供程序有什么用。可能不得不变得棘手并使用 PSExec 登录到远程服务器并执行一些代码。

4

5 回答 5

1

是的,在 .NET 中创建队列很简单,但是您不能以这种方式在远程计算机上创建私有队列。一段时间以来,我一直在考虑将队列创建添加到 MSMQ WMI 提供程序中……如果您需要它用于真正的产品/客户,您可以联系我,我会考虑优先考虑此功能。一切顺利,约尔·阿农

于 2008-10-31T14:55:45.160 回答
0

关于 MSMQ 和 WMI 的博客文章在这里:http://msmq.spaces.live.com/blog/cns!393534E869CE55B7!210.entry

它说这里有一个提供者:http://www.msmq.biz/Blog/MSMQWmiSetup.msi

它还说这里有一个参考:http://www.msmq.biz/Blog/MSMQ%20WMI%20Provider%20Objects.doc

希望这可以帮助。

于 2008-09-19T17:28:24.257 回答
0

WMI 无法立即执行此操作。上一个答案有一些晦涩的 WMI 提供程序,但它似乎甚至不支持创建队列。

然而,这在 .NET 中非常简单!我不会去 PSExec 这么远。 消息队列.创建

于 2008-10-01T00:58:44.057 回答
0
set qinfo = CreateObject("MSMQ.MSMQQueueInfo")
qinfo.PathName = ".\Private$\TestQueue"
qinfo.Label = ".\Private$\TestQueue"
qinfo.Journal = "1"
qinfo.Create

在文本编辑器中复制代码,将文件另存为.vbs 并执行。

于 2008-11-13T15:17:41.390 回答
0

我也想创建远程私有队列,但由于 .NET 不支持它,我们决定只使用远程公共队列。如果我们根据需要设置队列的发送和接收权限,这应该没问题。

一种解决方法是编写您自己的 Windows 服务或 Web 服务,这些服务或 Web 服务在队列需要驻留的同一台机器上运行。您可以通过套接字或 http 远程调用此服务,并且您的本地运行代码可以创建本地私有队列。

如果使用直接名称格式引用队列,则可以从远程专用队列发送和接收。

于 2010-01-08T18:30:45.410 回答