Message Queuing was unable to create the MSMQ object in Active Directory.

MSMQ.Rule.Alert.Event2116 (Rule)

Knowledge Base article:

Summary

Message Queuing was unable to create the msmq (MSMQ Configuration) object in Active Directory.

Causes

The MSMQ configuration object cannot be created in Active Directory Domain Services (AD DS). This error might be caused by one of the following conditions:

Resolutions

To perform these procedures, you must have membership in Administrators, or you must have been delegated the appropriate authority.

The user who is installing Message Queuing does not have the correct permissions to create child objects in AD DS

To confirm that the user who is installing Message Queuing is a domain user and a member of the local administrators security group:

Replication delays are not configured properly

There is an issue with replication delays. This issue should be resolved after Active Directory Domain Services (AD DS) replicates itself. After replication is complete, try to create the Active Directory object again:

Advanced users and domain administrators can also use the Knowledge Consistency Checker (KCC) to configure replication delays. For more information about optimizing Active Directory replication in a large network, see article 244368 in the Microsoft Knowledge Base ( http://go.microsoft.com/fwlink/?LinkId=107511).

A corrupted computer object exists in AD DS

To confirm that there are stale computer objects:

Stale objects can cause issues that prevent the MSMQ Service from operating properly. Deleting stale objects may solve this problem. However, deleting a computer object in Active Directory Domain Services (AD DS) can cause problems on the client computer. Before you delete the computer object, make sure that no services that are running on the client computer will be affected. In this case, deleting the Message Queuing Active Directory object will delete public queues on that computer.

You must have the Active Directory service tools installed in Role Administration tools under Remote Server Administration.

To perform these procedures, you must have membership in Administrators, or you must have been delegated the appropriate authority.

Confirm that Active Directory service tools are installed

To confirm that Active Directory service tools are installed:

Delete stale computer objects

To delete stale computer objects:

Additional

For more information, see Event ID 2116 ( http://technet.microsoft.com/en-us/library/dd337481(WS.10).aspx)

Element properties:

TargetMSMQ.Server
CategoryAvailabilityHealth
EnabledFalse
Event_ID2116
Event Source$Target/Property[Type="MSMQ.Server"]/ServiceName$
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
Message Queuing was unable to create the MSMQ object in Active Directory.
{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="MSMQ.Rule.Alert.Event2116" Enabled="false" Target="MSMQ.Server" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>AvailabilityHealth</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="MSMQ.Server"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>2116</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="MSMQ.Rule.Alert.Event2116.AlertName"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>