ann*_*nna 8 configuration msmq active-directory workgroup
这让我坚持不懈,所以如果有人可以,我会非常感激!
我试图从域中的服务器向域控制器发送消息到公共队列,但我收到错误:
"工作组安装计算机不支持该操作."
我在Domain COntroller上设置了MSMQ,并在Public Queues文件夹中创建了一个消息队列.
我知道之前有一个类似的问题:
但我已经尝试了所有建议的东西,但我仍然得到同样的错误.
所以,请带您了解我尝试过的建议:
a)未选择AD集成作为设置选项 - 安装msmq时选择此选项
b)选择了AD集成但未能初始化; 检查事件日志 - 我检查了我的事件日志,我有消息 - 可选更新MSMQ-ADIntegration包MSMQ Server包已成功打开.
c)检查Active目录中的孤立对象 - 我已检查Active Directory用户和计算机中的LostAndFound目录以检查AD中没有孤立对象
我已按照这些说明操作:http: //technet.microsoft.com/en-us/library/cc730960.aspx
我也卸载了重新启动并重新安装并再次检查我没有任何孤立的对象.
发送消息的所有服务器也需要安装msmq吗?目前我只在域控制器上拥有它,我认为这就足够了.
编辑1:我已经将msmq添加到发送消息的所有服务器(它们是负载均衡的,因此它可以是其中任何一个),他们已经安装了msmq,但是没有公共队列,所以我无法再次安装并重新安装(选择时选中所有相应的框) msmq -Directory服务集成/路由服务等..他们现在有公共队列我现在得到一个新的错误,如下所示:
"用户的内部消息队列证书不存在."
编辑2:
我仍然在努力,但已经取得了一些进展 - 当我检查我的域控制器的证书颁发机构时它就在那里,但是当我看到IIS它缺少虚拟目录CertServ时 - 请参阅链接以获得解释:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms755466%28v=vs.85%29.aspx
一旦我解决了这个问题,我将为我的每台服务器申请一个计算机证书,如下所示:
http://technet.microsoft.com/en-us/library/cc740173%28v=ws.10%29.aspx
希望这会奏效!
编辑3:好吧因为垃圾互联网的原因我无法申请证书,但希望将在下一个日子里纠正.所以我尝试了自我认证并没有产生任何影响,并取消了UseAuthentication = true,UseEncryption = true并取消选中经过身份验证的框并将加密设置为可选.我不再收到错误消息,导致我认为身份验证有问题(与Active Directory有关)但是,即使它没有失败,因为没有显示错误消息,我希望显示的页面在我的网站上显示.我的域控制器公共队列消息中没有消息......
我已经在本地完成了它的工作,它似乎是当我尝试在导致问题的域中执行它.
编辑4:
只是告诉你我知道我在这方面的进展 - 我想确保消息被发送到域控制器,所以我看看MSMQ End2End监控 - 所以在每个Web服务器上(消息从发送)和在事件查看器>应用程序和服务日志> Microsift> Windows> MSMQ> End2End I启用日志记录中,域控制器(消息被发送到).
当我尝试在Web服务器上再次发送消息时2记录了End2End事件:
ID为CN = msmq,CN = ETAILWEB03,CN = Computers,DC = Etail,DC = local\7被发送到队列的消息PUBLIC = d7ee680c-11ec-4d9a-aa31-528dcc9b1eba
通过网络发送的消息
在End2End事件中的域控制器上:
所以从这看起来消息已经到了所以我现在正在寻找消息丢失的地方:
https://groups.google.com/forum/?fromgroups=#!topic/microsoft.public.msmq.networking/88FYCvO2YwQ
编辑5:
好的如下:
我添加了一个匿名用户,并且能够向队列添加一条消息,这很棒,但我现在需要向后退一步,只能完全控制用户应该收到消息 - 所以web服务器的用户名是什么,也是为了安全起见,我需要对消息进行身份验证,以便回到我之前的一个问题.
编辑6:
仍在努力解决这个问题,但进一步深入......
在域控制器(证书颁发机构和接收MSMQ所在的位置)上,配置了证书自动注册,并在Web服务器(发送消息)上运行以下命令 - 运行 - gpupdate/force并重新启动每个Web服务器.
我确保在所有Web服务器上都选中了Authenticate,并在消息队列属性中选择了Body.我还更新了所有Web服务器上的证书,以确保它们是最新的我现在收到以下错误:
队列路径名无效.
我查看了以下链接:
编辑7:
好吧,为了尝试让它工作,似乎Web应用程序用户没有被识别,所以在Web服务器上我去了IIS>应用程序池>高级设置>身份并将身份设置为网络服务.一旦完成,我不再收到错误消息,当我运行我的应用程序,但消息似乎不在公共队列,我希望它是这样,所以我现在再次看看end2end,看看我能不能找到它去了哪里.
固定
将IIS设置为网络服务后,我会仔细检查正在发送的邮件是否已通过身份验证,并且接收邮件的域控制器已经过身份验证检查.我完全访问了我的公共队列中的每个人,它工作正常!
说实话,一路上有很多反复试验,但希望这篇文章可以帮助其他人 - 感谢约翰B,我读过这个主题的大部分内容都是他以某种形式发布的!