Pouvez-vous utiliser WMI pour créer une file d'attente de messages MSMQ (file d'attente PRIVÉE)?

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

  •  01-07-2019
  •  | 
  •  

Question

Je dois créer une file d'attente de messages PRIVATE sur une machine distante et je suis convaincu que je ne peux pas le faire directement avec .NET Framework. Je peux créer une file de messages publique sur une machine distante, mais pas une file privée. Je peux créer localement une file de messages (publique ou privée).

Je me demande si quelqu'un sait comment accéder à MSMQ via WMI.

Modifier: je ne vois rien qui puisse le faire avec l'utilisation du fournisseur MSMQ. Peut-être devenez-vous délicat et utilisez PSExec pour vous connecter à un serveur distant et exécuter du code.

Était-ce utile?

La solution

Oui, la création d'une file d'attente est simple dans .NET, mais vous ne pouvez pas créer de file d'attente privée sur un ordinateur distant de cette façon. Je réfléchis depuis un certain temps à l'ajout de la création de files d'attente au fournisseur WMI de MSMQ ... Si vous en avez besoin pour un produit / client réel, vous pouvez me contacter et je considérerai de donner une priorité à cette fonctionnalité. Bonne chance, Yoel Arnon

Autres conseils

Vous trouverez un article sur MSMQ et WMI sur le blog: http://msmq.spaces.live.com/blog/cns ! 393534E869CE55B7! 210.entry

Il est indiqué qu'un fournisseur existe ici: http://www.msmq.biz/Blog/MSMQWmiSetup.msi

Cela indique également qu'il existe une référence ici: http://www.msmq.biz/Blog/MSMQ%20WMI%% 20Provider% 20Objects.doc

J'espère que cela vous aidera.

WMI ne peut pas le faire par défaut. La réponse précédente contient un fournisseur WMI obsolète, mais il ne semble même pas prendre en charge la création de file d'attente.

C’est cependant très simple en .NET! Je n'irais pas aussi loin que PSExec. MessageQueue.Create

Je souhaitais également créer des files d'attente privées distantes, mais comme .NET ne la prend pas en charge, nous avons décidé d'utiliser à la place des files d'attente publiques distantes. Si nous définissons les autorisations Envoyer et Recevoir sur les files d'attente comme souhaité, cela ne devrait pas poser de problème.

Une solution de contournement serait d’écrire votre propre service Windows ou service Web qui s’exécute sur le même ordinateur que la file d’attente. Vous pouvez appeler ce service à distance via un socket ou via http, et votre code local peut créer la file d'attente privée locale .

Si vous utilisez le format de nom direct pour référencer la file d'attente, vous pouvez envoyer et recevoir à partir d'une file d'attente privée distante.

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

Copiez le code dans un éditeur de texte, enregistrez le fichier sous .vb et exécutez-le.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top