você pode usar o WMI para criar uma fila de mensagens MSMQ (fila particular)?

StackOverflow https://stackoverflow.com/questions/102877

  •  01-07-2019
  •  | 
  •  

Pergunta

Eu preciso criar uma fila de mensagem privada em uma máquina remota e eu resolveram fato de que eu não posso fazer isso com o .NET Framework de forma para a frente. Eu posso criar uma fila de mensagens público em uma máquina remota, mas não um privado. Eu posso criar uma fila de mensagens (público ou privado) localmente.

Eu estou querendo saber se alguém sabe como acessar MSMQ através do WMI.

Editar: não vejo qualquer coisa para fazê-lo com o uso do Provedor de MSMQ. Pode ter que ficar complicado e usar PSExec para fazer logon em um servidor remoto e executar algum código.

Foi útil?

Solução

Sim, a criação de filas é simples em .NET, no entanto você não pode criar uma fila particular em um computador remoto desta forma. Eu estive pensando sobre a adição de criação de filas para o provedor MSMQ WMI por algum tempo ... Se você precisar dele para um produto real / cliente, você pode entrar em contato comigo e eu vou considerar dar esse recurso uma prioridade. muito bem sucedida. Yoel Arnon

Outras dicas

Um blog sobre MSMQ e WMI está aqui: http://msmq.spaces.live.com/blog/cns ! 393534E869CE55B7! 210.entry

Ele diz que há um provedor aqui: http://www.msmq.biz/Blog/MSMQWmiSetup.msi

Ele também diz que há uma referência aqui: http://www.msmq.biz/Blog/MSMQ%20WMI% 20Provider% 20Objects.doc

Espero que isso ajude.

WMI não pode fazer isso out-of-box. A resposta anterior tem algum provedor WMI obsucre, mas ele mesmo não parecem apoiar a criação de filas.

Isto é muito simples em .NET no entanto! Eu não iria tão longe como PSExec. MessageQueue.Create

Eu estava querendo criar filas remoto privados também, mas desde que .NET não apoiá-lo, decidimos que só vai usar filas remoto públicas vez. Se colocarmos Enviar e receber permissões em filas, como desejado, este deve ser fino.

Uma idéia para um em torno do trabalho seria escrever o seu próprio serviço Windows ou web serviço que é executado na mesma máquina onde as necessidades de fila para residir. Você poderia chamar este serviço remotamente através de um soquete ou através de HTTP, e seu código localmente em execução poderia criar o Local fila particular.

Se você usar o formato de nome direta para fazer referência à fila, você pode Enviar e receber de uma fila remota privado.

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

Copie o código em um editor de texto, salve o arquivo como .vbs e executar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top