gpt4 book ai didi

msmq - 如何将 Msmq 配置从工作组模式更改为域模式?

转载 作者:行者123 更新时间:2023-12-03 14:32:45 31 4
gpt4 key购买 nike

有一个名为 queue1 的公共(public)队列在机器 A 上。我想从机器 B 向这个队列发送消息。为了实现这一点,我编写了那个 c# 代码。

if (MessageQueue.Exists("machineA\queue1"))
{
label1.Text = "queue found";
}
else
{
label1.Text = "queue could not be found";
}

但是 Exists()方法返回 false在机器 B 上。相同的代码在机器 C 上运行良好。

我发现了一些与 msmq 域模式和工作组模式相关的东西。我认为 msmq 在机器 B 上以 workgoup 模式安装。

如何将此配置从工作组模式更改为域模式?

最佳答案

基本上域和工作组模式之间的区别不是由 @engin 提到的注册表标志“工作组”的值定义的。 .此标志仅反射(reflect)当前操作模式,但不设置它。

是否在域模式或工作组模式下运行取决于您是在域 Controller 上还是在成员服务器上安装 MSMQ。可以在此处找到有关这两种模式之间差异的详细信息:https://support.microsoft.com/en-us/kb/884974/

MSMQ 1.0 用于仅支持域模式。当前的 MSMQ 版本是 5.0。

接下来,当您在 DC 上安装 MSMQ 时,您可能会看到非常有趣的行为,每次 MSMQ 服务重新启动后,您的工作组标志会不断恢复为 1。这意味着在作为域 Controller 的计算机上安装目录服务集成功能之前,您必须授予网络服务帐户对 Active Directory 域服务中的计算机对象的创建 MSMQ 配置对象权限。

您可以在此处找到有关如何执行此操作的详细信息:
https://technet.microsoft.com/en-us/library/cc730960.aspx
MSMQ 从 4.0 版(Vista/Server 2008)开始在(特权较少的)网络服务帐户而不是(功能强大的)本地系统帐户下运行

所以回答@mkus更直接地询问“设置”域模式,您只需在域 Controller 上安装 MSMQ 并确保网络服务帐户具有适当的权限。完成此操作后,您会看到它在域模式下运行,工作组标志自动切换为 0 以反射(reflect)这一点。

还有几个链接可以阐明有关 MSMQ 对象权限的问题以及何时/为什么需要设置它们:
http://blogs.msdn.com/b/johnbreakwell/archive/2009/08/03/default-msmq-queue-permissions-have-changed-in-msmq-4-0.aspx .简而言之,从 MSMQ 4.0 开始,Everyone 和 Anonymous Logon 已从默认 MSMQ 对象 ACL 中删除,以防止 DoS 攻击(尽管有此更改的异常(exception)情况,工作组模式就是其中之一)。

正如您在下面的 Technet 文章中所读到的,您需要访问 授予 MSMQ 对象某些权限 转至网络服务 到计算机帐户 在不是域 Controller 的 Windows Server 2008 R2(或更高版本)计算机上安装路由服务功能时,或在作为域 Controller 的 Windows Server 2008 R2(或更高版本)计算机上安装消息队列的目录服务集成功能时.在此处查看详细信息:
https://technet.microsoft.com/en-us/library/cc749102(v=ws.10).aspx

关于msmq - 如何将 Msmq 配置从工作组模式更改为域模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2198681/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com