如何在更改域后重置MSMQ权限

时间:2011-06-30 13:41:25

标签: msmq

将安装了MSMQ的Microsoft 2003服务器移动到另一个域时应该考虑哪些注意事项?

我们为新域中的用户帐户分配了队列的权限。我们仍然收到错误“拒绝访问消息队列系统。”

新域中没有其他服务器在运行MSMQ。在成员服务器上安装MSMQ时是否有创建的Active Directory对象?

4 个答案:

答案 0 :(得分:1)

如果域位于不同的林中,并且您希望使用公共队列等,则需要重新安装MSMQ,以便在AD中创建所有MSMQ对象。

确切的操作产生了什么“拒绝访问消息队列系统。”?

答案 1 :(得分:1)

问题已经解决。问题出在我们的应用程序创建的私有队列。这就解释了为什么我们没有看到任何创建的AD对象。使用域管理员凭据,我们尝试使用MMC管理单元修改专用队列的权限。我们收到错误,无法进行必要的更改,因为域管理员不在该队列的ACL上。我们找到了解决问题的方法。我们创建了一个新的临时专用队列,并为我们的应用程序所需的用户帐户分配了完全控制权。我们将新创建的专用队列配置文件放在\ system32 \ msmq \ storage \ lqs目录中。我们打开了文件并复制了整个安全线。然后我们打开了我们正在尝试修复的私有队列的配置文件,并将安全线粘贴到该文件中的同一行。我们保存了配置文件。我们重新启动了MSMQ服务,然后启动了我们的应用程序服务。该应用程序现在可以正常运行。谢谢大家的帮助!

答案 2 :(得分:0)

如果您没有需要保存的任何消息或日志历史记录,我建议您卸载并重新安装MSMQ。

您是否使用尝试发送邮件的帐户直接登录服务器?这对于建立消息队列证书是必要的,这是MSMQ的一个有点理解和记录不足的区域。

答案 3 :(得分:0)

我们还发现了另一种更简单的方法来重置专用队列的权限。我们将私有队列的所有权作为域管理员,为应用程序所需的用户帐户分配了完全权限,并将所有权转让给同一用户,而不是修改专用队列配置文件。这将私有队列恢复到服务器移动之前的状态。