我正在为工作中的MSMQ实例制作通知工具。它需要查看机器上的每个队列。但是,我很难获得与DeadLetter和XactDeadLetter系统队列相关的权限。访问始终被拒绝。
打开“计算机管理”,展开“服务和应用程序”,右键单击“消息队列”,然后单击“属性”。在属性对话框中,我转到“安全”选项卡并添加我的域服务帐户用户,并指示我要为用户提供“完全控制”。点击申请后,我会看到这个弹出窗口:
当我在弹出窗口中单击“确定”时,我得到:
我已经考虑过手动设置队列的安全性,但似乎系统队列没有按this question所述的C:\WINDOWS\system32\msmq\storage\lqs
获取文件。
如果我尝试取消对消息队列的所有权,我会得到与上面相同的弹出窗口。
我告诉"访问消息队列系统被拒绝"在下面MoveNext
抛出的MessageQueueException中:
MessageEnumerator enumer = messageQueue.GetMessageEnumerator2();
while (enumer.MoveNext()) {
...
}
如何允许我的服务帐户查看远程系统队列?
答案 0 :(得分:0)
我最近遇到了同样的问题,我无法承担队列的所有权,无法设置帐户的权限。但是,停止msmq服务并使用此建议解决了我的问题。
http://blog.aggregatedintelligence.com/2012/03/msmqsecurity-descriptor-cannot-be-set.html