消息队列路由服务器正以工作组模式运行。

Microsoft.MSMQ.6.3.Rule.Alert.Event2169 (Rule)

Knowledge Base article:

摘要

本地计算机是一个原属于域的消息队列路由服务器,现在以工作组模式运行。其他消息队列客户端仍将此计算机看作路由服务器,并将尝试通过此计算机路由消息

原因

过期的计算机对象可能会导致 MSMQ 服务无法正常运行。删除过期的计算机对象可能会解决此问题。但是,删除 Active Directory 域服务 (AD DS) 中的计算机对象会导致客户端计算机出现问题。在删除计算机对象之前,请先确保不会影响客户端计算机上运行的服务。在这种情况下,删除消息队列 Active Directory 对象将删除此计算机上的公用队列。

此错误可能由下列情况之一引起:

解决方案

过期的计算机对象

要执行这些过程,您必须拥有 Administrators 成员身份,或者您必须被委派了适当的权限。

要删除过期的计算机对象,请执行以下操作:

“目录服务集成”功能中的配置错误。

您可以通过执行以下操作来确认是否存在“目录服务集成”功能:

要执行这些过程,您必须拥有 Administrators 成员身份,或者您必须被委派了适当的权限。

警告:注册表编辑不当可能会严重损坏您的系统。更改注册表之前,您应备份任何有价值的数据。

验证注册表项设置

要验证注册表项设置,请执行以下操作:

确认计算机已加入正确的域

要确认计算机已加入正确的域,请执行以下操作:

验证 Active Directory 操作

通过确认消息队列中已启用“公共队列”功能,可以确认 Active Directory 正常运行。

要确认已启用“公共队列”功能,请执行以下操作:

其他

有关详细信息,请参阅事件 ID 2169 ( http://technet.microsoft.com/en-us/library/dd337420(WS.10).aspx)

Element properties:

TargetMicrosoft.MSMQ.6.3.Servers
CategoryConfigurationHealth
EnabledFalse
Event_ID2169
Event Source$Target/Property[Type="Microsoft.MSMQ.6.3.ServerRole"]/ServiceName$
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
消息队列路由服务器正以工作组模式运行。
{0}
Event LogApplication

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.MSMQ.6.3.Rule.Alert.Event2169" Enabled="false" Target="Microsoft.MSMQ.6.3.Servers" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>ConfigurationHealth</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="Microsoft.MSMQ.6.3.ServerRole"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>2169</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="Microsoft.MSMQ.6.3.Rule.Alert.Event2169.AlertName"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>