首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >窗口队列消息打开时出错-无法检索消息列表。错误:访问被拒绝

窗口队列消息打开时出错-无法检索消息列表。错误:访问被拒绝
EN

Server Fault用户
提问于 2012-07-26 13:40:21
回答 2查看 6.1K关注 0票数 4

问题:

在windows server 2003上打开windows“队列消息”时,我收到了错误消息。

代码语言:javascript
复制
"The list of messages cannot be retrieved. Error: Access is denied"

为什么?

按照以下步骤重新创建:

  • Windows Server 2003标准64位
  • 右击我的电脑
  • 选择管理
  • 服务
  • 消息队列
  • 私有队列
  • 玛莎
  • 队列消息

显示

错误消息:

代码语言:javascript
复制
"The list of messages cannot be retrieved. Error: Access is denied."

当前已部署的

安装/配置:

  • 以本地管理员身份登录。
  • 机器是独立的。
  • WCF服务正在运行(使用WCF特定用户)
  • WCF用户帐户是本地管理组的成员。
  • 点网4.0.
  • 混乱的排队服务正在运行(本地系统)
  • 可能是权限问题造成了错误。
EN

回答 2

Server Fault用户

回答已采纳

发布于 2012-07-26 13:54:09

如果.NET服务将"Everyone“组从私有队列的权限中删除,则会发生这种情况。下面是解决这个问题可以采取的一些步骤:

  1. 停止MSMQ服务
  2. 打开文件夹C:\WINDOWS\system32 32\msmq\storage\lqs
  3. 在此文件夹中找到描述队列的文件- (incommingQueue)
  4. 使用记事本,为具有良好安全权限的其他私有队列打开lqs文件。(如果您没有任何其他私有队列,则创建一个)
  5. 在开始Security=的文件中找到行.
  6. 把整行复制到你的剪贴板上(小心字卷,这一行会很长)
  7. 在文本编辑器中为问题队列打开lqs文件
  8. 覆盖Security=..。此文件中包含剪贴板内容的行
  9. 保存修改后的lqs文件
  10. 启动MSMQ服务

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

票数 5
EN

Server Fault用户

发布于 2018-06-11 08:50:43

我认为从使用计算机管理(compmgmt.msc)或Active用户和计算机(dsa.msc)检查队列、其对象和父容器的权限开始是值得的。后者可以在安装MSMQ目录服务集成组件时使用,因为它允许将队列属性发布到目录。

下面是如何使用Active Directory用户和计算机(dsa.msc)来做到这一点。请确保在此“视图下”中启用了以下选项“用户、联系人、组和计算机作为容器”和“高级功能”,这些选项允许您找到托管MSMQ队列的计算机对象,展开它并调用属性以与使用文件/文件夹ACL的方式编辑队列容器ACL (参见下面的示例屏幕快照)。最有可能的是,在您能够对ACL进行任何更改之前,您将需要获得所有权。

您还可以通过导航到Computer Management > Message Queuing和定位您的队列或其父容器并检查/编辑ACL,从而使用计算机管理检查ACL。见下面的截图示例。

但是,如果未安装MSMQ目录服务集成组件,您将不会在Active Directory用户和计算机中看到MSMQ队列,而且只有计算机管理可以用于编辑MSMQ对象ACL。

如果编辑ACL没有帮助,您应该查看上面的答案,其中涉及编辑位于C:\Windows\System32 32\msmq\storage\lqs下面的队列文件。有关这方面的详细信息,您也可以查看这个博客帖子

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/411454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档