我需要在远程计算机上创建一个PRIVATE消息队列,并且我已经解决了事实,即我无法以直接的方式使用.NET Framework执行此操作。我可以在远程计算机上创建公共消息队列,但不能创建私有队列。我可以在本地创建一个消息队列(公共或私有)。
我想知道是否有人知道如何通过WMI访问MSMQ。
编辑:使用MSMQ Provider我没有看到任何操作。可能必须变得棘手并使用PSExec登录远程服务器并执行一些代码。
答案 0 :(得分:1)
是的,.NET中的队列创建很简单,但是您不能以这种方式在远程计算机上创建专用队列。 我一直在考虑将队列创建添加到MSMQ WMI提供程序一段时间......如果您需要真正的产品/客户,您可以联系我,我会考虑优先考虑此功能。 祝一切顺利, Yoel Arnon
答案 1 :(得分: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
希望这有帮助。
答案 2 :(得分:0)
WMI无法开箱即用。上一个答案有一些障碍WMI提供者,但它似乎甚至不支持创建队列。
然而,这在.NET中非常简单!我不会像PSExec那样走得那么远。 MessageQueue.Create
答案 3 :(得分:0)
set qinfo = CreateObject("MSMQ.MSMQQueueInfo")
qinfo.PathName = ".\Private$\TestQueue"
qinfo.Label = ".\Private$\TestQueue"
qinfo.Journal = "1"
qinfo.Create
在文本编辑器中复制代码,将文件另存为.vb
并执行。
答案 4 :(得分:0)
我也想创建远程私有队列,但由于.NET不支持它,我们决定只使用远程公共队列。如果我们根据需要在队列上设置发送和接收权限,这应该没问题。
解决问题的一个想法是编写自己的Windows服务或在队列需要驻留的同一台机器上运行的Web服务。您可以通过套接字或http远程调用此服务,而本地运行的代码可以创建本地专用队列。
如果使用直接名称格式引用队列,则可以从远程专用队列发送和接收。