查看远程系统队列的权限?

时间:2014-12-26 18:12:26

标签: permissions msmq

我正在为工作中的MSMQ实例制作通知工具。它需要查看机器上的每个队列。但是,我很难获得与DeadLetter和XactDeadLetter系统队列相关的权限。访问始终被拒绝。

打开“计算机管理”,展开“服务和应用程序”,右键单击“消息队列”,然后单击“属性”。在属性对话框中,我转到“安全”选项卡并添加我的域服务帐户用户,并指示我要为用户提供“完全控制”。点击申请后,我会看到这个弹出窗口:

Security Descriptor cannot be set. Access is denied

当我在弹出窗口中单击“确定”时,我得到:

Unable to save permission changes on .

我已经考虑过手动设置队列的安全性,但似乎系统队列没有按this question所述的C:\WINDOWS\system32\msmq\storage\lqs获取文件。

如果我尝试取消对消息队列的所有权,我会得到与上面相同的弹出窗口。

我告诉"访问消息队列系统被拒绝"在下面MoveNext抛出的MessageQueueException中:

MessageEnumerator enumer = messageQueue.GetMessageEnumerator2();
while (enumer.MoveNext()) {
    ...
}

如何允许我的服务帐户查看远程系统队列?

1 个答案:

答案 0 :(得分:0)

我最近遇到了同样的问题,我无法承担队列的所有权,无法设置帐户的权限。但是,停止msmq服务并使用此建议解决了我的问题。

http://blog.aggregatedintelligence.com/2012/03/msmqsecurity-descriptor-cannot-be-set.html