打开窗口QUEUE MESSAGES错误 – 无法检索消息列表。 错误:访问被拒绝

问题:

当在Windows Server 2003上打开窗口“队列消息”时,我收到错误消息

"The list of messages cannot be retrieved. Error: Access is denied" 

为什么?

重新创build以下步骤:

  • Windows Server 2003标准的64位
  • 右键单击我的电脑
  • selectpipe理
  • 服务
  • 信息排队
  • 私人排队
  • MYSERVICE
  • 队列消息

显示错误信息:

 "The list of messages cannot be retrieved. Error: Access is denied." 

目前部署的设置/configuration:

  • 以本地pipe理员身份login。
  • 机器是独立的。
  • WCF服务正在运行(使用WCF特定用户)
  • WCF用户帐户是本地ADMIN组的成员。
  • 点网4.0。
  • 混乱排队服务正在运行(本地系统)
  • 也许创build错误的权限问题。

如果.NET服务从专用队列的权限中删除了“Everyone”组,则会发生这种情况。 以下是可以解决此问题的一些步骤:

  1. 停止MSMQ服务
  2. 打开文件夹C:\ WINDOWS \ system32 \ msmq \ storage \ lqs
  3. find描述您的队列的文件夹中的文件 – (incommingQueue)
  4. 使用记事本,打开lqs文件的一些其他专用队列具有良好的安全权限。 (如果你没有其他的私人队列创build一个)
  5. find开始Security = ….的文件中的行
  6. 将整行复制到剪贴板(注意Word Wrap,这一行将会很长)
  7. 在文本编辑器中打开问题队列的lqs文件
  8. 使用剪贴板的内容覆盖此文件中的Security = …行
  9. 保存修改的lqs文件
  10. 启动MSMQ服务

您应该发现问题队列现在具有与您在上面的步骤6中复制的安全设置的队列相同的权限。