私のマシンはドメイン D1 にあり、ドメイン D2 のリモート サーバーにパブリック MSMQ があります。vpn 経由で D2 に接続しています。つまり、D2 でマシンを RDP し、MSMQ にアクセスできます。
私が望むのは、システムを RDP せずに MSMQ にアクセスする (メッセージ数を知る) ことです。だから私はこれのためのアプリケーションを構築します。偽装を使用して D2 のユーザーを偽装しました (つまり、D2 の資格情報を使用しました) が、問題は、「パブリック」MSMQ ( Messagequeue.GetPublicQueue() を使用) にアクセスできず、例外がメッセージ「A workgroup installation computer」と共にスローされることです。操作をサポートしていません。」しかし、 MessageQueue.GetPrivateQueue() を使用すると、プライベート キューのコレクションが返されました。
messageCount に MSMQManager を使用してみました
Path = @"Direct:OS:machine\publicqueue";
FormatName=null;
new MSMQManager.inIt(machineName, path , FormatName);
これも、キューが存在しないか開いていないかのいずれかで例外をスローします。しかし、キューが正常に機能していることを確認できます。