Pregunta

Necesito crear una cola de mensajes PRIVADOS en una máquina remota y he resuelto que no puedo hacer esto con .NET Framework de manera sencilla.Puedo crear una cola de mensajes pública en una máquina remota, pero no PRIVADA.Puedo crear una cola de mensajes (pública o privada) localmente.

Me pregunto si alguien sabe cómo acceder a MSMQ a través de WMI.

Editar: No veo nada que pueda tener que ver con el uso del proveedor MSMQ.Puede que tenga que ser complicado y usar PSExec para iniciar sesión en un servidor remoto y ejecutar algún código.

¿Fue útil?

Solución

Sí, la creación de colas es sencilla en .NET; sin embargo, no se puede crear una cola privada en una máquina remota de esta manera.He estado pensando en agregar la creación de colas al proveedor WMI de MSMQ durante algún tiempo...Si lo necesita para un producto/cliente real, puede contactarme y consideraré darle prioridad a esta función.Todo lo mejor, Yoel Arnon

Otros consejos

Una publicación de blog sobre MSMQ y WMI está aquí: http://msmq.spaces.live.com/blog/cns!393534E869CE55B7!210.entry

Dice que hay un proveedor aquí: http://www.msmq.biz/Blog/MSMQWmiSetup.msi

También dice que hay una referencia aquí: http://www.msmq.biz/Blog/MSMQ%20WMI%20Provider%20Objects.doc

Espero que esto ayude.

WMI no puede hacer esto de forma inmediata.La respuesta anterior tiene algún proveedor WMI oscuro, pero ni siquiera parece admitir la creación de colas.

¡Sin embargo, esto es muy simple en .NET!No iría tan lejos como PSExec.MessageQueue.Crear

También quería crear colas privadas remotas, pero como .NET no lo admite, decidimos usar colas públicas remotas en su lugar.Si configuramos los permisos de Enviar y Recibir en las colas como lo deseamos, esto debería estar bien.

Una idea para solucionarlo sería escribir su propio servicio de Windows o servicio web que se ejecute en la misma máquina donde debe residir la cola.Puede llamar a este servicio de forma remota a través de un socket o a través de http, y su código de ejecución local podría crear el local cola privada.

Si utiliza el formato de nombre directo para hacer referencia a la cola, poder Enviar y recibir desde una cola privada remota.

set qinfo = CreateObject("MSMQ.MSMQQueueInfo")
qinfo.PathName = ".\Private$\TestQueue"
qinfo.Label = ".\Private$\TestQueue"
qinfo.Journal = "1"
qinfo.Create

Copie el código en un editor de texto, guarde el archivo como .vbs y ejecutar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top